zoukankan      html  css  js  c++  java
  • 将图片序列保存为GIF文件


    将图片序列如 01.jpg 02.jpg 03.jpg... 保存GIF是什么原理 多个JPG文件 合并成一个GIF文件 写入

     
    uses Vcl.Imaging.GIFImg, Vcl.Imaging.pngimage;
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Bmp: TBitmap;
     
      Png: TPngImage;
      Gif: TGIFImage;
      i, j: Integer;
    begin
      Bmp := TBitmap.Create;
      Gif := TGIFImage.Create;
      try
     
        // Bmp.LoadFromFile('img0.bmp');
        // Bmp.Transparent := True;
        // Gif.Add(Bmp);
    //    Bmp.LoadFromFile('01.bmp');
    //    Bmp.Transparent := True;
    //    Gif.Add(Bmp);
    //    Bmp.LoadFromFile('02.bmp');
    //    Bmp.Transparent := True;
    //    Gif.Add(Bmp);
    //    Bmp.LoadFromFile('03.bmp');
    //    Bmp.Transparent := True;
    //    Gif.Add(Bmp);
     
        Png := TPngImage.Create;
        for i := 0 to 159 do
        begin
          Png.LoadFromFile(Format('%d.png', [i]));
          Png.Transparent:=True;
          Gif.Add(Png);
        end;
     
        // for i := 0 to Gif.Images.Count - 1 do
        // for j := 0 to Gif.Images[i].Extensions.Count - 1 do
        // if Gif.Images[i].Extensions[j] is TGIFGraphicControlExtension then
        // TGIFGraphicControlExtension(Gif.Images[i].Extensions[j]).Disposal :=
        // dmBackground;
     
        // add netscape loop if we want animation to keep repeating
        TGIFAppExtNSLoop.Create(Gif.Images.Frames[0]).Loops := 0;
        Gif.Pack;
        Gif.SaveToFile('test.gif');
      finally
        Bmp.Free;
        Gif.Free;
      end;
    end;








  • 相关阅读:
    hlg1541集合划分【01背包】
    HLG1067QQ Farm【状压dp】
    作业。。
    HDU3602 2012【dp】
    hdu 1233(最小生成树 prim算法)
    hdu 2988(最小生成树 kruskal算法)
    hdu 1272
    hdu 1213(并查集模版题)
    hdu 2846(字典树)
    hdu 1075(字典树)
  • 原文地址:https://www.cnblogs.com/xe2011/p/3876040.html
Copyright © 2011-2022 走看看