请问个bitblt的问题。 ( 积分: 50 )

  • 主题发起人 主题发起人 mill666
  • 开始时间 开始时间
M

mill666

Unregistered / Unconfirmed
GUEST, unregistred user!
我在我的delphi 7里面安装了TPNGImage;
然后建一个窗口,在窗口上放置一个Timage控件image1,然后设置其picture属性为一个.png的图象,则能正常显示;
然后再放置一个image2控件,想通过bitblt把image1的图先的一部分拷贝给image2,代码如下:
代码:
 Bitblt(self.Image2.Canvas.Handle, 0, 0, 23, 19, self.Image1.Canvas.Handle,23*3, 0, SRCcopy);
程序执行的时候出现异常错误:
can only modify an image if it contains a bitmap。

请问这是为什么??
如果image1的picture 属性是.bmp的文件,则不会出现这个错误??比如我把这个.png通过图形处理软件转换成.bmp,但是关键的是图像出现失真的情况,透明的地方也变成不透明了....

这到底是为什么??

另外请问怎么拷贝.png的部分到另外的image控件里面??
 
仅能修改包含位图(*.bmp)的Image,说明系统不提供你要的功能。

看看TPNGImage有没有这个功能咯。
 
后退
顶部