VC内存中的bmp图片如何用指针传递给delphi使用 找财务软件有哪些
用vc的dll的函数从磁盘中读取一张bmp图片,进行处理后如何在内存中传递给delphi进行进一步的处理
现在vc的dll处理后只能存成文件,读取速度很慢,想在内存中传递
各位大哥最好能给出代码,如果有好的解决方法,分还可以讨论
2楼: var
buf: pointer;
BitmapInfo: TBitmapInfo;
begin
Image1.Picture.Bitmap.Handle := CreateDIBSection(0, BitmapInfo,
GB_COLORS, buf, 0, 0);
Move( (内存地址)Data^, buf^, BitmapInfo.bmiHeader.biSizeImage); 如财务软件有哪些
3楼: Data是vc中的句柄吗,还是内存地址
4楼: 内存地址指针
5楼: 在vc下,这个函数怎么取得地址
hBitmap=(HBITMAP*):: LoadImage
( AfxGetInstanceHandle(),
//取得应用程序句柄
“demo1.bmp”,
//位图文件名
IMAGE_BITMAP,
//类型为Windows位图
0,0,
LR_LOADFROMFILE);
6楼: 那位大哥详细回答一下,兄弟真的不是很明白图形处理这块
仓库管理软件版7楼: 看你的代码,那位图应该本来就是文件。
只给你提供一下思路,
分配足够的内存,读取bmp文件到此内存,最后将这内存的首地址和SIZE传递给Delphi
8楼: 在VC中可以用
HBITMAP* hbp;
hbp = (HBITMAP*)::LoadImage(
0,
//取得应用程序句柄
"04.bmp",
//位图文件名
IMAGE_BITMAP,
//类型为Windows位图
0,0,
LR_LOADFROMFILE);
将位图文件加入内存中,可以用
CBitmap bitmap;
bitmap.m_hObject=hbp与CBitmap类进行交互。
在delphi中使用
VC中将(int)hbp作为参数传给delphi,
image1.Picture.Bitmap.Handle := hbp;
一切OK
9楼: 接受答案了.