Gradient na płaszczyźnie
Tak na prawdę, to zadanie powinno być w dziale "DYWANY". Ale też głównie postaramy się uzyskać efekt "GRADIENTU" wg nowego algorytmu. A więc potraktujmy to jako zadanie "graniczne".
Ustalimy, dla każdego piksla (o współrzędnych całkowitoliczbowych) kolor.
W Javie nie ma procedury, która rysuje pojedyńczy piksel, rysuje się go zwykle na dwa sposoby:
|
|
void maluj( Graphics g ) {Point p=new Point( ); for(p.x=0;p.x<dl;p.x++) for(p.y=0;p.y<sz;p.y++) mapa.setRGB(p.x,p.y,JakiKolor(p); g.drawImage(mapa,0,0,this); } |
int JakiKolor(Point p) {int r,g,b,kolor; r=Math.min(90+x,Mr); g=Math.min(90+y,Mg); b=Math.min(90+(x-y),Mb); kolor=(r<<16)+(g<<8)+b return(kolor); } |
To oczywiście tylko jeden z przykładów, jak prostymi środkami można osiągnąć niezły rezultat.
Pytanie, tylko do czego TO się może przydać ? Na pewno jest to jakiś kierunek..