谁会裁减GIF图片大小

aniugee 2009-10-22 10:59:06
软件中需要将大的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;


希望有这方面经验的指点一下。
...全文
114 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
风之谷 2009-10-22
  • 打赏
  • 举报
回复
帮顶~

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧