Witam. Pisząc gierkę natrafiłem na niemały problem. Mianowicie po wyświetleniu obrazka z tłem (PNG) i naniesieniu na niego obrazka z postacią (PNG) widać wokół postaci różowy prostokąt zamiast przeźroczystego tła. W irfanview zapisałem obrazek z przeźroczystością właśnie na kolor różowy. Kombinowałem też z innymi kolorami ale dalej nie działa. Żeby było śmieszniej na emulatorze sun wireless toolkit działa tak jak powinno i tło postaci jest przeźroczyste. Czy istnieje jakaś specjalna funkcja czy coś aby wczytać obrazek z przeźroczystością?
0
0
Już znalazłem. jak by ktoś potrzebował to wygląda to tak:
Image AddAlpha(Image img, int t) {
int size = img.getHeight()*img.getWidth();
int tab[] = new int[size];
img.getRGB(tab, 0, img.getWidth(), 0, 0, img.getWidth(), img.getHeight());
//Tutaj podawany jest numer pixela którego kolor będzie
//definiował kolor przeźroczysty. Można też zmodyfikować parametr
//i zamiast numeru pixela podać od razu kolor
int keyColor = tab[t];
for(int i=0; i<size; i++)
if(tab[i]==keyColor)
tab[i]&=0x00FFFFFF;
return Image.createRGBImage(tab, img.getWidth(), img.getHeight(), true) ;
}
//Zastosowanie do wczytanego wcześniej obrazka
obraz = AddAlpha(obraz, 0);