IStream该传点啥?(50分)

  • 主题发起人 主题发起人 zhang214
  • 开始时间 开始时间
Z

zhang214

Unregistered / Unconfirmed
GUEST, unregistred user!
constructor Create(stream: IStream; useEmbeddedColorManagement: BOOL = FALSE); reintroduce; overload;
这是创建gdi+的一个TGPImage又一个,他需要指定一个图片(文件或IStream),我估计是内存流只类的东西,但不会传过去....
{$EXTERNALSYM IStream}
IStream = interface(ISequentialStream)

ISequentialStream = interface(IUnknown)
['{0c733a30-2a1c-11ce-ade5-00aa0044773d}']
function Read(pv: Pointer; cb: Longint; pcbRead: PLongint): HResult;
stdcall;
function Write(pv: Pointer; cb: Longint; pcbWritten: PLongint): HResult;
stdcall;
end;
 
没人知道
 
没人回答,分给谁呀?糟蹋了......
 
var
FMemStream: TMemoryStream;
FIStream: IStream;
begin
FMemStream := TMemoryStream.Create;
try
FMemStream.LoadFromFile('c:/abc.dat');
FMemStream.Seek(0, soFromBeginning);
FIStream := TStreamAdapter.Create(FMemStream);
//FIStream就是你要传递的IStream接口
finally
//使用完了记得释放,如果需要让接口来释放这个内存流,那么使用如下的创建方式
//FIStream := TStreamAdapter.Create(FMemStream, soOwned);
FMemStream.Free;
end;
end;
 
后退
顶部