Как реализовать градиент?

Graphics::TBitmap *Gradient = new Graphics::TBitmap();
Gradient->Height = 50;
Gradient->Width = 50;
int h=Gradient->Height;
int w=Gradient->Height;
struct tRGB{int R,G,B;};
tRGB Color1,Color2;

Color1.R=214;
Color1.G=50;
Color1.B=50;

Color2.R=92;
Color2.G=44;
Color2.B=220;

double Rg=(Color2.R-Color1.R);
double Gg=(Color2.G-Color1.G);
double Bg=(Color2.B-Color1.B);
Rg/=w;
Gg/=w;
Bg/=w;

for(int i=0;i<w+1;i++)
for(int i2=0;i2<h+1;i2++)
{
Gradient->Canvas->Pixels[i][i2]=TColor(RGB(Color1.R+Rg*i,Color1.G+Gg*i,Color1.B+Bg*i));
}
Form1->Canvas->Draw(0,0,Gradient);

delete Gradient;
 
« Предыдущая статья   Следующая статья »