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);任何一方去除则两方同时自动去除!!!!所以要慎重操作一旦,去除了一方 另一方也会自动去除,那么如果之前有重命名的话 需要寻找之前的资源命名 然后重命名;工作量巨大,所以不要随便删 任何一方。