Пытаюсь сделать градиент, чтобы:
Верхний левый угол - белый (255, 255, 255),
Верхний правый угол – красный (255, 0, 0),
Нижний левый угол – зеленый (0, 0, 255),
Нижний правый угол – черный (0, 0, 0)
Но что-то я с алгоритмом ошибаюсь
void __fastcall TForm1::PaintBox1Paint(TObject *Sender)
{
Graphics::TBitmap *Gradient = new Graphics::TBitmap();
Gradient->Height = 220;
Gradient->Width = 220;
int h=Gradient->Height;
int w=Gradient->Width;
struct tRGB{int R,G,B;};
tRGB Color_W, Color_H;
Color_W.R=255, Color_H.R=0,
Color_W.G=255, Color_H.G=0,
Color_W.B=255, Color_H.B=0;
for(int i_w=0;i_w<h+1;i_w++)
{
for(int i_h=0;i_h<h+1;i_h++)
{
for(int iW=0;iW<w+1;iW++)
{
Color_W.R-iW;
Color_W.G-iW;
Color_W.B-iW;
for(int iH=0;iH<w+1;iH++)
{
Color_H.R+iH;
Color_H.G+iH;
Color_H.B+iH;
}
}
Gradient->Canvas->Pixels[i_w][i_h]=TColor(RGB(Color_W.R+i_w,
Color_W.G+i_w,
Color_W.B+i_w));
}
}
PaintBox1->Canvas->Draw(0,0,Gradient);
delete Gradient;
}
]
Как лучше организовать выбор цвета?