注册 登录
编程论坛 Delphi论坛

DelPhi的CopyRect问题

dragonsun 发布于 2011-05-21 08:19, 1323 次点击
.

      前段时间无意网上搜到幅11378*1000像素的《清明上河图》,加上自己拍摄拼接的9102*800的风景照,想着让画从右向左慢慢移动地欣赏,因此用只包含一个窗体Form1的小程序实现,位图复制函数 Form1.Canvas.CopyRect(crt1,apt.Canvas,crt2)。
      设计是:crt1、crt2两矩形的高度都等于打开的位图的高度,apt是位图对象;点开程序运行,程序自动打开程序同目录下的清明上河图.bmp;运行时让画的纵向处于屏幕中央;用TOpenPictureDialog打开选择另一图片。
      运行后,再手动打开风景照,当再次打开《清明上河图》后,发现显示出来的清明上河图的高度范围扩大(屏幕1280*800),也就是点开程序运行后清明上河图纵向的上下被隐藏而没显示出来的一些部分在再次打开后显示出来了。
      用函数BitBlt(Form1.Canvas.Handle,0,0,crt1.Right-crt1.Left,crt1.Bottom,apt.Canvas.Handle,crt2.Left,crt2.Top,SrcCopy)一样的现象。
      网上查过,无奈无解。Delphi编程的高人指点指点。图片程序稍后传上来

.

[ 本帖最后由 dragonsun 于 2011-5-21 08:21 编辑 ]
0 回复
1