A
ati82
Unregistered / Unconfirmed
GUEST, unregistred user!
单张图片格式比较好做,就这个gif弄了好几天了搞不明白。我需要在每一帧上都做。
查网上有人说将每个 Frames取出来,修改后, 再保存,我这样试过:
for i:=0 to gif.Count-1 do
begin
bmp.Assign(gif.Frames.Bitmap);//取出一帧交给bmp
...//这里对bmp进行修改
//bmp.SaveToFile('c:/'+inttostr(i)+'.bmp');//保存每帧bmp,到这里都很正常
gif.Frames.Bitmap.Assign(bmp);
(*关键在上边这句,如果用这个语句跟没改一个效果。
这里如果改成gif.Frames.Assign(bmp);就会导致显示不正常,完全破坏图片。
我也试图将修改前frames相关参数重新赋值给新的frames,位置跟延时都可以解决,只有好似透明方面做得不完善,导致图片保存后在acdsee里完全变样*)
end;
gif.SaveToFile('c:/1.gif');//进行保存
怎么办呢?
查网上有人说将每个 Frames取出来,修改后, 再保存,我这样试过:
for i:=0 to gif.Count-1 do
begin
bmp.Assign(gif.Frames.Bitmap);//取出一帧交给bmp
...//这里对bmp进行修改
//bmp.SaveToFile('c:/'+inttostr(i)+'.bmp');//保存每帧bmp,到这里都很正常
gif.Frames.Bitmap.Assign(bmp);
(*关键在上边这句,如果用这个语句跟没改一个效果。
这里如果改成gif.Frames.Assign(bmp);就会导致显示不正常,完全破坏图片。
我也试图将修改前frames相关参数重新赋值给新的frames,位置跟延时都可以解决,只有好似透明方面做得不完善,导致图片保存后在acdsee里完全变样*)
end;
gif.SaveToFile('c:/1.gif');//进行保存
怎么办呢?