卷起千堆雪大侠在吗?为什么GetDIBits 返回值有时为0,真是百思不得其解?(200)

  • 主题发起人 主题发起人 btt
  • 开始时间 开始时间
B

btt

Unregistered / Unconfirmed
GUEST, unregistred user!
同一张图片bmap,多次调用 GetDIBits(bmap.Canvas.Handle,bmap.Handle,0,bmap.Height,bufferdate,bitinfo,DIB_RGB_COLORS)有时返回值为0,从而bufferdate 返回值为空。真是百思不得其解。请熟悉图形编程高手作答。
 
to lqcros 能说的再清楚些吗?
 
直接调用 Graphics.GetDIBGraphics.GetDIB 就是delphi调用的你上面的函数封装的varbis, bbs: DWORD;bi,bb: array of char;begin Graphics.GetDIBSizes(Image2.Picture.Bitmap.Handle, bis, bbs); SetLength(bi, bis); SetLength(bb, bbs); Graphics.GetDIB(Image2.Picture.Bitmap.Handle, Image2.Picture.Bitmap.Palette, PChar(bi)^, PChar(bb)^);end;
 
是不是你丢失了什么句柄
 
实在不行看Graphics.pas里面的,读有!
 
多人接受答案了。
 

Similar threads

后退
顶部