2013-11-30 5 views
0

Я не знаю, если это подходящее место, но я надеюсь, что это так.drawImage метод не работает

Я создаю веб-приложение Fusion с ADF с помощью Jdeveloper 12c. в этом приложении я получаю объект изображения динамически с внешней машины для цифровой подписи. пользователь будет подписывать с помощью этой машины, тогда я вызываю некоторый метод, который возвращает подпись как объект изображения. моя задача - отобразить это изображение пользователю в браузере. Проблема заключается в следующем:

Мой подход для достижения этой задачи заключается в использовании метода drawImage, но ничего не отображается в браузере. Я уверен, что изображение не равно нулю. вот часть кода:

Image bi=this.sigObj.sigImage(); //this.sigObj.sigImage() will return an object of type BufferedImage 
Graphics g= bi.getGraphics(); 
g.drawImage(bi, 300, 300, null); 

Примечание: когда я звоню getWidth(null) и получить getHeight(null) оба вернуться 1. Я не знаю, если это помогает.

Thank you

+0

'g.drawImage (bi, 300, 300, null);' должно быть, должно быть 'g.drawImage (bi, 0, 0, null);'. Для чего-то более определенного поста - [SSCCE] (http://sscce.org/). –

ответ

0

Это действительно не имеет никакого смысла. У вас есть изображение в буфере памяти на вашем веб-сервере, вы получаете его графику и перерисовываете изображение на нем (что уже не имеет смысла), и вы надеетесь, что это волшебным образом отобразит изображение на некоторых браузер где-то в другом месте?

Чтобы динамически генерируемый изображение, отображаемое на веб-странице, эта веб-страница должна иметь

<img src="/somUrl" /> 

тег, и сервлет или действие отображается в /someUrl должен возвращать ответ HTTP, говоря формат изображения (в его заголовке типа контента, например, image/png) и содержать байты изображения, закодированные в этом формате (например, путем записи BufferedImage в выходной поток ответа сервлета с использованием ImageIO).

+0

Можете ли вы дать более подробную информацию о том, как это сделать. еще две вещи: 1. Я использую класс Bean, а не сервлет. 2. Я новичок в этом. Спасибо – Salman

+0

Найдите кого-нибудь в вашей команде, чтобы научить вас основам HTTP, и объясните, как это сделать с Fusion. Я ничего не знаю об этой структуре. –

+0

Спасибо вам любым способом. Ваш ответ полезен – Salman

Смежные вопросы