我在IMAGE上要进行画线操作。
image1.canvas.pen.color:=clblue;
image1.canvas.pen.width:=5;
image1.canvas.moveto(20,0);
image1.canvas.lineto(20,image1.height);
想在image1上,横坐标20处画一条竖线,从上到下,竖线长度正好是image1的高度。但是这样写出来,竖线只占了image1高度的一半左右。image1本身的height属性值为300,我即使改为image1.canvas.lineto(20,300);也不行。
而且用
image1.canvas.lineto(20,image1.Height);
image1.canvas.lineto(20,Height);
image1.canvas.lineto(20,ClientHeight);
这三种写法出来的线的长度都不一样,但是都没有符合我想要的从上到下贯穿整个image.
请帮忙给出实现这个问题的方法,并讲解上3种写法的区别,谢谢!
image1.canvas.pen.color:=clblue;
image1.canvas.pen.width:=5;
image1.canvas.moveto(20,0);
image1.canvas.lineto(20,image1.height);
想在image1上,横坐标20处画一条竖线,从上到下,竖线长度正好是image1的高度。但是这样写出来,竖线只占了image1高度的一半左右。image1本身的height属性值为300,我即使改为image1.canvas.lineto(20,300);也不行。
而且用
image1.canvas.lineto(20,image1.Height);
image1.canvas.lineto(20,Height);
image1.canvas.lineto(20,ClientHeight);
这三种写法出来的线的长度都不一样,但是都没有符合我想要的从上到下贯穿整个image.
请帮忙给出实现这个问题的方法,并讲解上3种写法的区别,谢谢!
窗体上,放置image,然后画线,正常
image1.canvas.lineto(20,Height);
image1.canvas.lineto(20,ClientHeight); image1.height保存的是图片高度;height保存的是整个canvas的高度,其实界面也是画出来的,所以这个高度很可能包含了菜单栏的高度;ClientHeight是canvas里的用户区,即可以供用户修改部分窗口的高度
我用提供的那个方法试的不行,是应为我在IMAGE上初始设置了图片。
如果初始不设置图片,则那个方法没有问题,竖线可以贯穿上下。
所以应该是设置了图片的事。因为我想在图片上进行画线。
请各位帮忙讲解,谢谢!
我的image的Stretch 为True
autosize 为False
可是还是出现了这个问题。