初级问题,别笑.
请帮忙把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不是有效的。