将一幅图片传给一个byte? ( 积分: 200 )

  • 主题发起人 主题发起人 怒抛头颅
  • 开始时间 开始时间

怒抛头颅

Unregistered / Unconfirmed
GUEST, unregistred user!
我把问题再描述一下吧:

有一个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中怎么处理呢?
 
我把问题再描述一下吧:

有一个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中怎么处理呢?
 
各位请帮忙,谢谢!
 
mem:Tmemorystream;
bmap:Tbitmap;

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

可我现在要做的是要把 一幅320×32 24位色的bitmap传给那个bmp变量啊。
 
请继续,谢谢
 
应该 是定义为:bmp:PByteArray; 吧
用的时候可以
bmap:=Tbitmap.Create;
...
bmp:=@bmap;
 
你先把这个位图读到流里,然后传输这个流,然后在转化成位图不可以吗?
 
后退
顶部