好的,在表单上放一个TPaintbox,然后添加这个OnPaint处理程序:
procedure TForm53.PaintBox1Paint(Sender: TObject);
var
bmp : TBitmap;
x,y : integer;
r,g,b: byte;
begin
bmp := TBitmap.Create;
try
bmp.SetSize(256, 256);
for y := 0 to bmp.Height - 1 do
for x := 0 to bmp.Width - 1 do
begin
r := 0;
g := round(256 * max(0, y - x) / PaintBox1.Height);
b := round(256 * max(0, x - y) / PaintBox1.Width);
bmp.Canvas.Pixels[x, y] := RGB(r, g, b);
end;
PaintBox1.Canvas.StretchDraw(PaintBox1.ClientRect, bmp);
finally
bmp.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
这应该看起来像你的榜样.
说明:它生成一个256x256的屏幕外位图来绘制.完成后,它会被绘制到您的paintbox控件上.
它遍历位图的所有像素,并且对于每个位图,它计算颜色,如红色,绿色和蓝色.
| 归档时间: |
|
| 查看次数: |
803 次 |
| 最近记录: |