Autor Wątek: [J2ME] Jak ściemnić lub rozjaśnić obrazek  (Przeczytany 1406 razy)

Offline mtm

  • Użytkownik

# Październik 28, 2010, 19:01:19
Cześć wszystkim,
Wiecie może jak w J2ME mogę ściemnić lub rozjaśnić obrazek?
Hym, w ostateczności jak nałożyć na obrazek czarny kwadrat [g.fillRect] z kanałem alpha/opcity.

Z góry dzięki : *

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Solgar

  • Użytkownik

# Październik 28, 2010, 19:16:58
Dokumentacja nie gryzie.
http://download.oracle.com/javame/config/cldc/ref-impl/midp2.0/jsr118/index.html
Pobierz piksele z obiektu Image do tablicy intów przy pomocy getRGB() i modyfikuj bity odpowiedzialne za kanał alpha (format piksela 0xAARRGGBB). Ustal wartość jaka cię interesuje w zakresie 0 - 255 a potem ustaw bity kanału alpha na tą wartość.
new_pixel = (old_pixel & 0x00ffffff) | (new_alpha << 24);
« Ostatnia zmiana: Październik 28, 2010, 19:18:54 wysłana przez Solgar »

Offline mtm

  • Użytkownik

# Październik 28, 2010, 19:20:28
Więc konieczne będzię przejście pętli dla każdego piksela.?
Chodzi tu o dwa obrazki 174x218 px i zrobienie loga ładującego program.
Dziękuje za Twoją szybką odp.

Offline Solgar

  • Użytkownik

# Październik 28, 2010, 19:55:43
Będzie to konieczne. Możesz również zrobić sobie obrazek mniejszy, dajmy na to połowa wysokości i połowa szerokości. Zamalować go czarnym kolorem, pobrać z niego tablice intów i zmieniać alpha wszystkich pikseli, a potem 4 razy narysować go na ekran w miejscu, gdzie chcesz zasłonić/odsłonić to logo. Ten kolor morze być oczywiście biały, jeżeli tłem loga jest biały kolor.