软件中需要将大的gif图,裁减成小的。我能把每一帧取出来,但改变大小后放不回去。后来看代码发现取出来的Bitmap是临时生成的,无论怎么改,最初加载的图片是获取不到的。    AGIFImage := TGIFImage.Create;
    try
      AGIFImage.LoadFromFile(FileName);
      NewWidth := round(AGIFImage.Width * 0.5);
      NewHeight := round(AGIFImage.Height * 0.5);
      for i := 0 to AGIFImage.Images.Count - 1 do
      begin
        OldBmp := AGIFImage.Images[i].Bitmap;
        NewBmp := imgNewImage.Picture.Bitmap;
        //进行截减 返回新的BITMAP
        ZoomBmp(OldBmp, NewBmp, NewWidth, NewHeight);
        AGIFImage.Images[i].Bitmap := NewBmp;
      end;
      AGIFImage.Width := NewWidth;
      AGIFImage.Height := NewHeight;
      AGIFImage.SaveToFile('c:\Temp.gif');
    finally
      if Assigned(AGIFImage) then
        AGIFImage.Free;
    end;
希望有这方面经验的指点一下。