我在使用 DELPHI 编程的时候 用CANVAS.MOVETO (0,0) ; CANVAS LINETO

使用了如下代码化直线,在运行后在窗体上可以看到一条直线;CANVAS.MOVETO(0,0);CANVAS.LINETO(100,100);但是如果在后面加上,如下代码后... 使用了如下代码化直线,在运行后在窗体上可以看到一条直线;
CANVAS.MOVETO(0,0);
CANVAS.LINETO(100,100);

但是如果在后面加上,如下代码后 运行后直线却看不见了。
SHAPE1.HEIGHT:=100;
SHAPE1.TOP:=300;
SHAPE1.LEFT:=500;

还有在程序运行后如果 调整手动调整窗体的大小时,窗体上的直线会根据窗体的大小 被截去一段。
展开
 我来答
cui0502
2008-01-02 · 超过50用户采纳过TA的回答
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:153万
展开全部
这里注意TForm和TImage两种控件的TCanvas属性区别
Tform.canvas绘制完图像后,并不保存,如果窗体的图像被其他窗体或控件遮盖,相应部分图像将不再重绘而丢失。因此,你所绘制的图像要在Form的Onpaint事件中人工重新绘制一次。

而Timage.canvas绘制图像后随时保存,不会有上面的效果。毕竟Timage是专门用来做图像的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式