当前位置:主页>仓库管理软件> 列表

将一幅图片传给一个byte?

进销存管理软件版1楼: 我把问题再描述一下吧:

有一个VC编写的动态链接库,同时也是一个OLE,我在系统注册后,在delphi7中用Import Library安装上了这个ACTIVEX,其中有这么一个函数:

procedure sendMsg(const comPort: WideString; var bmp: byte; address: OleVariant; bmpLength: OleVariant);

现在需要将一幅图片(大小:320×32象素 24位)传给那个bmp变量,大家觉得可能吗?

我用exescope看那个vc动态链接库的原型是:
function sendMsg(comPort:BSTR; bmp:^UI1; address:variant; bmpLength:variant);

那个^UI1在vc中好像是safearray,在delphi中怎么处理呢?

2楼: 各位请帮忙,谢谢! 如lsc局域网管理软件

3楼: mem:Tmemorystream;
bmap:Tbitmap;

bmap:=Tbitmap.Create;
mem:=Tmemorystream.create
mem.read();//把传过来的bit读到mem中
bmap.loadfromstream(mem);

4楼: 谢谢 枕夕阳。

可我现在要做的是要把 一幅320×32 24位色的bitmap传给那个bmp变量啊。

5楼: 请继续,谢谢

6楼: 应该 是定义为:bmp:PByteArray; 吧
用的时候可以
bmap:=Tbitmap.Create;
...
bmp:=@bmap;

进销存管理软件版7楼: 你先把这个位图读到流里,然后传输这个流,然后在转化成位图不可以吗?