+ -
当前位置:首页 → 问答吧 → Image控件无法实现图片的拉伸效果显示?

Image控件无法实现图片的拉伸效果显示?

时间:2011-10-31

来源:互联网

想要把图片一点一点显示,可每次都是一次性显示。为什么呢?
Delphi(Pascal) code

for i:=0 to bmpheight do
begin
newbmp.Canvas.CopyRect(Rect
(0,bmpheight-i,bmpwidth,bmpheight),
Bmp.Canvas,Rect(0,0,bmpwidth,i));
Image1.Canvas.Draw(0,0,newbmp);
Sleep(10);
end;

作者: taoran12   发布时间: 2011-10-31

for 里面加一个application.processmessage
每循环一次sleep(500)

作者: funxu   发布时间: 2011-10-31

500有点久了,不过10太短了时间自己看着调吧

作者: funxu   发布时间: 2011-10-31

引用 1 楼 funxu 的回复:
for 里面加一个application.processmessage
每循环一次sleep(500)


如果把Image改成Form不需要加这句也可以,为什么?

作者: taoran12   发布时间: 2011-10-31

因为timage和form分别是TCotnrol下的两条分支,虽然表面上都有canvas,但是刷新机制是不同的
TCotnrol有有自己的消息重绘,而timage需要依赖其Owner来重绘

作者: funxu   发布时间: 2011-10-31

4L代码有一点敲错了
TForm有有自己的消息重绘,而timage需要依赖其Owner来重绘

作者: funxu   发布时间: 2011-10-31

这美女很正啊

作者: somayeh   发布时间: 2011-10-31