把JPG图片加入到资源文件中(50分)

  • 主题发起人 主题发起人 okhai
  • 开始时间 开始时间
O

okhai

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把JPG图片加入资源文件中,以供程序的随时调用,请各位高手们告诉我怎么样在资源
文件中表述,在程序中如何调用,我愿出5000海元(我自己印制的币:))给解答者。
 
//Copy from hubdog,Hope it useful!

{$R FOO.RES}

uses Jpeg;

procedure LoadJPEGFromRes(TheJPEG : string; ThePicture : TPicture);
var
ResHandle : THandle;
MemHandle : THandle;
MemStream : TMemoryStream;
ResPtr : PByte;
ResSize : Longint;
JPEGImage : TJPEGImage;
begin
ResHandle := FindResource(hInstance, PChar(TheJPEG), 'JPEG');
MemHandle := LoadResource(hInstance, ResHandle);
ResPtr := LockResource(MemHandle);
MemStream := TMemoryStream.Create;
JPEGImage := TJPEGImage.Create;
ResSize := SizeOfResource(hInstance, ResHandle);
MemStream.SetSize(ResSize);
MemStream.Write(ResPtr^, ResSize);
FreeResource(MemHandle);
MemStream.Seek(0, 0);
JPEGImage.LoadFromStream(MemStream);
ThePicture.Assign(JPEGImage);
JPEGImage.Free;
MemStream.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
LoadJPEGFromRes('MYJPEG', Image1.Picture);
end;

 
写个foo.rc文本文件.
加上下面一行:
MYJPEG JPEG "c:/temp/a0001.jpg"

调用Delphi目录下bin/brcc32.exe foo.rc就可以生成foo.res
要使用foo.res请参阅wjiachun的答案
 
恩,试试...
 
可以用image editor做
 
太谢谢了,真的做到了。
 
后退
顶部