B btt Unregistered / Unconfirmed GUEST, unregistred user! 2009-04-10 #1 同一张图片bmap,多次调用 GetDIBits(bmap.Canvas.Handle,bmap.Handle,0,bmap.Height,bufferdate,bitinfo,DIB_RGB_COLORS)有时返回值为0,从而bufferdate 返回值为空。真是百思不得其解。请熟悉图形编程高手作答。
同一张图片bmap,多次调用 GetDIBits(bmap.Canvas.Handle,bmap.Handle,0,bmap.Height,bufferdate,bitinfo,DIB_RGB_COLORS)有时返回值为0,从而bufferdate 返回值为空。真是百思不得其解。请熟悉图形编程高手作答。
L lqcros Unregistered / Unconfirmed GUEST, unregistred user! 2009-04-10 #3 直接调用 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.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;