Ske*_*a87 11 delphi resources image embedded-resource
我试图在运行时为图像(Image1)分配图像.
因为我无法设置要从资源加载的属性.所以我需要在运行时加载.
我有代码
procedure TForm1.FormCreate(Sender: TObject);
var RS:Tresourcestream ;
begin
RS := TResourceStream.Create(HInstance,'Splashscreen_Background', RT_RCDATA);
image1.Picture.Bitmap.LoadFromResourcename(HInstance,'splashscreen_background');
end;
Run Code Online (Sandbox Code Playgroud)
但它只是加载带有空白图像的表单.以及:
procedure TForm1.FormCreate(Sender: TObject);
BitMap1 : TBitMap;
begin
BitMap1 := TBitMap.Create;
BitMap1.LoadFromResourceName(HInstance,'Live');
image1.Picture.Bitmap.Assign(Bitmap1);
end;
Run Code Online (Sandbox Code Playgroud)
我不知道底部是否可以工作,猜不是.只是我试过的东西.

And*_*and 26
我刚刚将一个名为SampleBitmap(位图图像)的资源添加到一个新的VCL项目中.然后我添加了一个TImage控件,并给它一个OnClick处理程序:
procedure TForm1.Image1Click(Sender: TObject);
begin
Image1.Picture.Bitmap.LoadFromResourceName(HInstance, 'SampleBitmap');
end;
Run Code Online (Sandbox Code Playgroud)
它完美地运作.
更新
问题很可能是您使用的是JPG图像,而不是Bitmap.您无法将JPG图像加载到TBitmap.那么该怎么办?好吧,添加JPEG到你的uses条款,并做
procedure TForm5.Image1Click(Sender: TObject);
var
RS: TResourceStream;
JPGImage: TJPEGImage;
begin
JPGImage := TJPEGImage.Create;
try
RS := TResourceStream.Create(hInstance, 'JpgImage', RT_RCDATA);
try
JPGImage.LoadFromStream(RS);
Image1.Picture.Graphic := JPGImage;
finally
RS.Free;
end;
finally
JPGImage.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25257 次 |
| 最近记录: |