当前位置:主页>销售管理软件> 列表

VC内存中的bmp图片如何用指针传递给delphi使用 找财务软件有哪些

仓库管理软件版1楼: vc的dll中和一些关于图片处理的函数
用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楼: 接受答案了.