TImage 显示 资源中 的图片、TResourceStream、资源文件_ico

 

TImage 显示 资源中 的图片、TResourceStream、资源文件_重命名_02

 



unit Unit5;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Imaging.pngimage, Vcl.Imaging.jpeg,
Vcl.ComCtrls, Vcl.Imaging.GIFImg;

type
TForm5 = class(TForm)
Button1: TButton;
Image1: TImage;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);
begin
Image1.Picture.Bitmap.LoadFromResourceName(HInstance, 'Bitmap_1');
end;

procedure TForm5.Button2Click(Sender: TObject);
var
png: TPngImage;
stream: TResourceStream;
begin
png := TPngImage.Create;
stream := TResourceStream.Create(HInstance, 'PngImage_1', RT_RCDATA);
try
png.LoadFromStream(stream);
Image1.Picture.Assign(png);
finally
png.Free;
stream.Free;
end;
end;

procedure TForm5.Button3Click(Sender: TObject);
var
jpg: TJPEGImage;
stream: TResourceStream;
begin
jpg := TJPEGImage.Create;
stream := TResourceStream.Create(HInstance, 'JpgImage_1', RT_RCDATA);
try
jpg.LoadFromStream(stream);
Image1.Picture.Assign(jpg);
finally
jpg.Free;
stream.Free;
end;
end;

procedure TForm5.Button4Click(Sender: TObject);
var
gif: TGIFImage;
stream: TResourceStream;
begin
gif := TGIFImage.Create;
stream := TResourceStream.Create(HInstance, 'GifImage_1', RT_RCDATA);
try
gif.LoadFromStream(stream);
gif.AnimationSpeed := 300; //动画速度
gif.Animate := True;//是否动画
Image1.Picture.Assign(gif);
finally
gif.Free;
stream.Free;
end;
end;

procedure TForm5.Button5Click(Sender: TObject);
begin
Image1.Stretch := True; //这句对icon无效.
Image1.Picture.Icon.LoadFromResourceName(HInstance, 'Icon_1');
end;

procedure TForm5.FormCreate(Sender: TObject);
begin
Image1.Stretch := True;
ReportMemoryLeaksOnShutdown := True;
end;

end.


 

切记:资源管理器 与 项目是连接的,当向资源管理器中增加图片的时候,这个图片会同时加到项目的中来(相当于project---add);任何一方去除则两方同时自动去除!!!!所以要慎重操作一旦,去除了一方 另一方也会自动去除,那么如果之前有重命名的话 需要寻找之前的资源命名 然后重命名;工作量巨大,所以不要随便删 任何一方。 

TImage 显示 资源中 的图片、TResourceStream、资源文件_资源管理器_03