Iriska ;-)
Iriska ;-)

Значит задача у меня такая. На JAVA нужно выдать комбинированную иконку в браузер.

На JAVA нужно выдать иконку в браузер.

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

Блок кода (JAVA):
try
{
response.setContentType("image/png");
ServletOutputStream _out = response.getOutputStream();

// создаем картинку 90Х90.
BufferedImage _bufferedImage = new BufferedImage(90, 90, BufferedImage.TYPE_INT_ARGB);

// загружаем фон.
String _imageDir = Helper.getConfig().getProperty("imagePath");
Image _imageBackgroung = java.awt.Toolkit.getDefaultToolkit().getImage(_imageDir + "new/i_pattern.png");
ImageIcon _ic = new ImageIcon(_imageBackgroung);

// добавляем фон.
_bufferedImage.getGraphics().drawImage(_imageBackgroung, 0, 0, _ic.getImageObserver());

// загружаем иконку.
ImageList _il = (ImageList)request.getSession().getAttribute("imageList");
InputStream _in = _il.getImageById(79).getSource().getBinaryStream();
Image _imageIcon = ImageIO.read(_in);

// добавляем иконку.
_ic = new ImageIcon(_imageIcon);
int dx = (90 - _ic.getIconWidth()) / 2;
int dy = (90 - _ic.getIconHeight()) / 2;

((Graphics2D)(_bufferedImage.getGraphics())).setComposite(AlphaComposite.SrcOver);
((Graphics2D)(_bufferedImage.getGraphics())).drawImage(_imageIcon, dx, dy, _ic.getImageObserver());

// отправляем в браузер.
ImageIO.write(_bufferedImage, "png", _out);
_imageIcon.flush();

}

Заранее спасибо.

ImageList _il = (ImageList)request.getSession().getAttribute("imageList");
InputStream _in = _il.getImageById(79).getSource().getBinaryStream();

ImageList - это объект содержащий массив картинок. Метод "getSource()" возвращает объект "BLOB"

to Manunich

не помогло.
Ресурс №1. компилятор ругается на WritableRaster и DirectColorModel.
Ресурс №2. у него проблема так и не решилась.
Ресурс №3. не подходит

Даже этот вариант: http://www.javaworld.com/community/node/7629 не помог 😞

ДМ
Денис Михайлин

Может поможет? )
http://stackoverflow.com/questions/15666428/transparent-background-png-java-bufferedimage
http://javatalks .ru/topics/32249
http://www.sql.ru/forum/414748/bufferedimage
А вообще, изображение формируется правильное, вероятно, но иконка у браузера же в формате ico, а не png, поэтому наверное прозрачность чёрным цветом замещается)

Похожие вопросы
Проблема с браузерами помогите! Проблема с JAVA SCRIPT
Почему иконка браузера отоброжается неккоректно?
выдает ошибку браузер
Как решить задачу Java Script
При установки java выдает ошибку 123
При скачивание Java 6 в самом конце выдает ошибку: BrowserLaunchError: 3 . Что это значит? И как от нее избавится?
Задача по Java or C#
Что в Java значит данная строка
Подскажите с решением задачи на JAVA
Помогите с задачей на java!