procedure TFormMain.ButtonConvertClick(Sender: TObject);
var
  Bitmap : TBitmap;
  GIF : TGIFImage;
begin
  ButtonConvert.Enabled := False;
  try
    Bitmap := TBitmap.Create;
    try
      // Load the bitmap that will be converted
      Bitmap.LoadFromFile(ExtractFIlePath(Application.ExeName)+'test.bmp');
      // Display the bitmap
      ImageBMP.Picture.Assign(Bitmap);
      // Clear previous GIF view
      ImageGIF.Picture.Assign(nil);           GIF := TGIFImage.Create;
      try
        GIF.OnProgress := OnProgress;
        // Convert the bitmap to a GIF
        GIF.Assign(Bitmap);
        // Save the GIF
        GIF.SaveToFile('test.gif');
        // Display the GIF
        ImageGIF.Picture.Assign(GIF);
      finally
        GIF.Free;
      end;
    finally
      Bitmap.Free;
    end;
  finally
    ButtonConvert.Enabled := True;
  end;
end;利用上面的一小段倒是能把BMP转成gif,
但是转的gif质量很差,问问大侠们,有没有什么方法让转的gif质量好些,
有什么其他的DLL或者控件转gif失真少些么?或者哪位有代码看下不胜感激。

解决方案 »

  1.   

    转gif没转过,转jpg的效果还不错
      

  2.   

    先用其它软件将BMP转换一下,转成GIF,看下失真效果,再确定是代码转换问题还是压根转换就肯定产生严重失真。
      

  3.   

    acdsee 转换基本看不出失真效果,代码转的就很明显了,一眼就看出
      

  4.   

    gif本身就是256色的,你把一个真彩的bmp转成gif,效果好的了才怪
    ps之所以转换后效果感觉好些,是因为他生成的图像经过了去杂边,仿色等优化运算,而你的转换代码米有,原理素这个,解决方法不知道,我对图像优化研究不深..............
      

  5.   

    先通过工具把bmp颜色减到256色
      

  6.   

    http://hi.baidu.com/lael80/blog/item/497bc5c4fb2ebdca38db496f.html
      

  7.   

    靖源image2Gif转换器是一款把bmp/jpg/png等格式图片序列转换成高质量gif图片/动画的软件,是一款把gif图片/动画转换为bmp/jpg格式序列文件的图片.转换速度快,质量高.如果您对转换效果要求比较高,不妨看看这款软件!支持透明,支持指定黑色/白色作为透明色. 下载地址:http://www.dxmylove.com/download/JyBmp2Gif.exe
      

  8.   

    自己解决,结贴。用的是TRxGIFAnimator  就是rxlib控件,还有不明白的可以加我410476927qq