可以用 TImage 作为画布,在窗体上放个 TImage控件,设置Image为矩形。 绘图代码如下: procedure TFmMain.btnDrawClick(Sender: TObject); var i,r: integer; begin //绘制矩形 imgCanvas.Canvas.Pen.Color := clBlack; imgCanvas.Canvas.MoveTo(0,0); imgCanvas.Canvas.LineTo(imgCanvas.Width-1,0); imgCanvas.Canvas.LineTo(imgCanvas.Width-1,imgCanvas.Height-1); imgCanvas.Canvas.LineTo(0,imgCanvas.Height-1); imgCanvas.Canvas.LineTo(0,0); //绘制圆 r := imgCanvas.Height div 2-2; for i:=10 downto 1 do begin //采用随机色画圆 imgCanvas.Canvas.Pen.Color := Random($FFFFFF); imgCanvas.Canvas.Ellipse(imgCanvas.Width div 2-r, imgCanvas.Height div 2-r, imgCanvas.Width div 2+r, imgCanvas.Height div 2+r); r := r-10; end; end;把绘图代码放在定时器里执行,还会有动画效果
绘图代码如下:
procedure TFmMain.btnDrawClick(Sender: TObject);
var
i,r: integer;
begin
//绘制矩形
imgCanvas.Canvas.Pen.Color := clBlack;
imgCanvas.Canvas.MoveTo(0,0);
imgCanvas.Canvas.LineTo(imgCanvas.Width-1,0);
imgCanvas.Canvas.LineTo(imgCanvas.Width-1,imgCanvas.Height-1);
imgCanvas.Canvas.LineTo(0,imgCanvas.Height-1);
imgCanvas.Canvas.LineTo(0,0);
//绘制圆
r := imgCanvas.Height div 2-2;
for i:=10 downto 1 do
begin
//采用随机色画圆
imgCanvas.Canvas.Pen.Color := Random($FFFFFF);
imgCanvas.Canvas.Ellipse(imgCanvas.Width div 2-r,
imgCanvas.Height div 2-r,
imgCanvas.Width div 2+r,
imgCanvas.Height div 2+r);
r := r-10;
end;
end;把绘图代码放在定时器里执行,还会有动画效果
楼主连Ctrl+C和Ctrl+V都懒得做么?
去CV一下吧,直接运行看效果的
放一个TImage,假设名字叫Image1:
Image1.Picture.LoadFromFile('xxx');
Image1.Canvas.Ellipse(...);