读书人

初级有关问题,别笑

发布时间: 2012-03-04 11:13:34 作者: rapoo

初级问题,别笑.
请帮忙把BCB的这段转成delphi,主要是内存分配那块,在线等~~~~~~

long DIBWidth, DIBHeight;
PChar BitmapImage;
Windows::PBitmapInfo BitmapInfo;
int width,height;

Graphics::TBitmap *bitmap1=new Graphics::TBitmap();

GetDIBSizes(bitmap1->Handle, BitmapInfoSize, BitmapImageSize);

BitmapInfo = (PBitmapInfo) new char[BitmapInfoSize];
BitmapImage = (PChar) new char [BitmapImageSize];

GetDIB(bitmap1->Handle, 0, BitmapInfo, BitmapImage);

DIBWidth = BitmapInfo->bmiHeader.biWidth;
DIBHeight = BitmapInfo->bmiHeader.biHeight;

StretchDIBits(Printer()->Canvas->Handle,
0, 0,Printer()->PageWidth , Printer()->PageHeight,
0, 0, DIBWidth, DIBHeight,
BitmapImage, BitmapInfo,
DIB_RGB_COLORS, SRCCOPY);

delete BitmapInfo;
delete BitmapImage;

Printer()->EndDoc();

delete bitmap1;




[解决办法]
编译通过了的,运行有错误,说TBitmap Image不是有效的。

读书人网 >.NET

热点推荐