zoukankan      html  css  js  c++  java
  • TImage 显示 资源中 的图片、TResourceStream、资源文件

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

  • 相关阅读:
    iOS开发编程英语(单词带音标)
    iOS多线程管理-Thread,NSOperation,GCD的简单用法
    AFN下载文件的随笔
    HTML5/CSS3动画应用
    Android 常用基础
    Java JDK8 安装及环境变量配置
    Jquery扩展- 倒计时
    页面中引入带中文的JS文件乱码问题
    曾经记录——asp.net中的点滴
    Linux Mono OpenShift Cloud9 rhc
  • 原文地址:https://www.cnblogs.com/del88/p/6890488.html
Copyright © 2011-2022 走看看