目录
绘制多边形
在窗体上添加两个Button组件(我这里是button7,button8)
procedure Polyline(Points : array of TPoint)
{其中Points是一个TPoint型的数组}
procedure TForm1.FormCreate(Sender: TObject);
begin
Canvas.Pen.Width := 4;
Canvas.Pen.Color := clRed;
Canvas.Brush.Color := clYellow; //设置画刷颜色
end;
Polygon方法
{绘制多边形:它的参数是一个点数组,这里定义了一个常数数组}
procedure TForm1.Button7Click(Sender: TObject);
const
pts:array[0..3] of TPoint = (
(x:10; y:40),
(x:46; y:120),
(x:82; y:40),
(x:46; y:10)
);
begin
Canvas.Polygon(pts);
end;
通过在画布上绘制一条从最后一个点到第一个点的直线,在画布上绘制一系列连接传入和关闭形状的点的线。
使用 Polygon 在画布上绘制一个封闭的多边形,使用 Pen 的值。在绘制完整的形状之后,使用 Brush 的值填充形状。
Polyline方法
{绘制连续的一组直线; 它的参数也是一个点数组, 我只是把上面的平移了一点}
procedure TForm1.Button8Click(Sender: TObject);
const
pts:array[0..3] of TPoint = (
(x:10+82; y:40),
(x:46+82; y:120),
(x:82+82; y:40),
(x:46+82; y:10)
);
begin
Canvas.Polyline(pts);
end;
用当前钢笔在画布上绘制一系列直线,将传递给它的每个点连接起来。
使用 Polyline 连接画布上的一组点。如果只指定两个点,Polyline 将绘制一条线。
Point 参数是要连接的点的数组。
绘制五环图标
const {把五环颜色定义为常量数组}
Colors:array[0..4] of TColor = (clBlue,clBlack,clRed,clYellow,clGreen);
var
ci:Integer; {用作颜色序号}
procedure TForm1.FormCreate(Sender: TObject);
begin
Button9.Caption := '重绘';
Self.Color := clWhite;
Canvas.Pen.Width:=5;
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
r = 30; {圆半径}
var
radian: Double; {记录弧度:Sin、Cos函数需要弧度做参数;弧度 = 角度 * Pi/180}
i,a,b :Integer;
begin
Canvas.MoveTo(X,Y - r);
Canvas.Pen.Color := Colors[ci];
for i := 1 to 360 do
begin
radian := i * (Pi/180); {获取弧度}
a := X + Round(Sin(radian) * r); {用 Sin 函数获取横坐标}
b := Y - Round(Cos(radian) * r); {用 Cos 函数获取纵坐标}
Canvas.LineTo(a, b); {绘制}
Application.ProcessMessages; {不要影响其他操作}
Sleep(3); {等 3 毫秒}
end;
Inc(ci);
if ci = 5 then ci := 0;
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
ci :=0 ;
Repaint;//重画
end;