delphi Canvas画线问题

procedureTForm1.Button5Click(Sender:TObject);beginCanvas.Pen.Width:=20;//设置笔刷宽度为20Can... procedure TForm1.Button5Click(Sender: TObject);
begin
Canvas.Pen.Width := 20; //设置笔刷宽度为20
Canvas.Pen.Color:=clblack;

Canvas.MoveTo(300,400);
Canvas.LineTo(300,100);

Canvas.MoveTo(350,400);
Canvas.LineTo(350,200);

Canvas.MoveTo(400,400);
Canvas.LineTo(400,300);

end;

上面的代码执行后,结果如下图:

请教两个问题:
(1)画出的线是圆角的,怎么设置画笔之后,画出的线看起来是方形的????
(2)使用canvas画图后,程序结束时,需不需要清除或释放??

请高手赐教。谢谢~~
展开
 我来答
sirouszlh
推荐于2018-03-28 · TA获得超过1651个赞
知道小有建树答主
回答量:1038
采纳率:100%
帮助的人:630万
展开全部
要么直接用矩形代替 嘿嘿
反正效果一样
Canvas.Pen.Width := 2; //设置笔刷宽度为20
Canvas.Pen.Color:=clblack; //线颜色
Canvas.Brush.Color:=clblack;//填充颜色
Canvas.Rectangle(200,200,210,100);

不需要释放。

假如需要倾斜的线条 那要用polygon()了

var
s1:array of TPoint;
begin
Canvas.Pen.Width := 2; //设置笔刷宽度为20
Canvas.Pen.Color:=clblack;
Canvas.Brush.Color:=clblack;
setlength(s1,4);
S1[0].X:=200;
S1[0].y:=200;

S1[1].X:=204;
S1[1].y:=204;

S1[2].X:=304;
S1[2].y:=104;

S1[3].X:=300;
S1[3].y:=100;
Canvas.Polygon(S1);
就是需要计算角度 然后计算出4个点的坐标值
封装成函数才能方便调用
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式