首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

初级有关问题,别笑

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

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

热点排行