TGPBitmap 加载资源文件
如题 因为资源文件取出来的是TImage
procedure LoadPngRes(var img: TImage; ResName, ResType: PChar);
var
png: TPNGObject;
res: TResourceStream;
begin
png := TPNGObject.Create;
res := TResourceStream.Create(HInstance, ResName, ResType);
try
png.LoadFromStream(res);
img.Picture.Assign(png);
finally
res.Free;
png.Free;
end;
end;
我是这么取资源的
[解决办法]
创建一个资源文件,假设命名为Untitled.RC,
加入一个png图片,资源ID假设定为 22,编译该rc文件得到Untitled.res文件,
把Untitled.RC、Untitled.RES 放在项目目录中,如下代码测试成功
var
Form1: TForm1;
implementation
{$R *.dfm}
{$R Untitled.RES} // 包含该资源文件
uses pngimage;
procedure TForm1.btn1Click(Sender: TObject);
var
png: TPNGObject;
res: TResourceStream;
begin
png := TPNGObject.Create;
try
png.LoadFromResourceID(HInstance,22);
img1.Picture.Assign(png);
finally
png.Free;
end;
end;