forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   JAVA Micro Edition (http://forum.boolean.name/forumdisplay.php?f=52)
-   -   создать прозрачную картинку (http://forum.boolean.name/showthread.php?t=5910)

Kurdt 14.04.2008 19:45

создать прозрачную картинку
 
Здраствуйте потскаите пожалуйста как создать в яве прозрачную картинку, пишу библиотеку
IM = Image.createImage(M.T.getWidth(), M.T.getHeight());
вот сначало так...

foldel 28.02.2011 00:03

Ответ: создать прозрачную картинку
 
Наверно так :
public Image setAlphaBlendValue(int Value, Image Picture) {
int[] buf = new int[Picture.getWidth() * Picture.getHeight()];
Picture.getRGB(buf, 0, Picture.getWidth(), 0, 0, Picture.getWidth(), Picture.getHeight());
for (int i = 0; i < buf.length; i++) {
if (buf[i] != 0x00000000) {
buf[i] = Value << 24 | ((buf[i] >> 16) & 0xff) << 16 | ((buf[i] >> 8 ) & 0xff) << 8 | ((buf[i] >> 0) & 0xff);
}
}
return Image.createRGBImage(buf, Picture.getWidth(), Picture.getHeight(), true);
}

YellowAfterlife 28.02.2011 12:29

Ответ: создать прозрачную картинку
 
Или так (чтобы поддерживать изображения с изначально полупрозрачными частями):
Код:

        public static Image irea(Image i, int a)
        {
                int[] b = new int[i.getWidth() * i.getHeight()];
                i.getRGB(b, 0, i.getWidth(), 0, 0, i.getWidth(), i.getHeight());
                for (int p = 0; p < b.length; p++)
                {
                        b[p] = (b[p] >>> 24) * a / 255 << 24 | b[p] & 0xFFFFFF;
                }
                return Image.createRGBImage(b, i.getWidth(), i.getHeight(), true);
        }



Часовой пояс GMT +4, время: 03:20.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot