problem z gradientem

0

Hi!
Znow mecze jave. mam teraz problem z gradientem. kod:
[code]
int width=255, height = 255;
int pix[] = new int[255*255];
int index = 0;
for(int i = 0; i < 255; i++)
for(int j = 0; j < 255; j++)
pix[index++] = (j <<24) | (j << 16) | j;
img = createImage(new MemoryImageSource(width, height, pix, 0, width));
[/code]
tym sposobem generuje sobie gradient 255x255px ale nie wiem czemu wyswietla jaki dziwny gradient przechodzacy z szarego do rozowego zamiast z czarnego do bialego. Co jest?

0

na jawie sie nie znam ale wydaj mi sie ze powinno byc
pix[index++] = (j <<16) | (j << 8) | j;

0

Nie, nie powinno byc ;>
Kolor jest zapisany 24bitami
ale przetestowalemi tak na wszelki wypadek ;) nie dziala :-/

0

Nie, nie powinno byc ;>
Kolor jest zapisany 24bitami

Otóż powinno tak być. Skoro składowe kolorów mają 8 bitów, to jeśli którąś przesuniesz o 24 bity, to wyjdzie, że kolor ma 32 bity, a ma 24...
nie zauważyłeś 8bitowej dziury pomiędzy najniższym kolorem a tym środkowym?

1 użytkowników online, w tym zalogowanych: 0, gości: 1