关于缩放图像的
我用TGPImage.GetThumbnailImage方法来缩放图片(我需要将缩放后的图像存为文件)
用这个方法得到的TGPImage对象,再存为文件,速度很快。
但是有个问题,有小部分的图片,用GetThumbnailImage得到的图像非常的模糊(有问题的大多是数码相机拍出来的照片),
我将有问题的图片用ACDSee另存一个jpg文件,这个文件又没问题了。
我猜可能是原文件中有一些垃圾数据?
不知道哪位大侠对这方面有研究? 或者有更好的方法来缩放图片?

解决方案 »

  1.   

    如果你将缩略图存为jpeg格式文件,保存图片时会自动压缩,使图片质量变差,设置图片品质参数可解决这个问题,请参考以下代码:var
      Clsid: TGUID;
      Parameters: TEncoderParameters;
      Quality: Integer;
    begin
      // 设置自压缩编码参数
      Parameters.Count := 1;
      Parameters.Parameter[0].Guid := EncoderQuality;
      Parameters.Parameter[0].ValueType := EncoderParameterValueTypeLong;
      Parameters.Parameter[0].NumberOfValues := 1;
      // 设置参数的值:品质等级,最高为100,图像文件大小与品质成正比
      Quality := 100;
      Parameters.Parameter[0].Value := @Quality;  GetEncoderClsid('image/jpeg', Clsid);
      // 假定Thumbnail为缩略图对象
      Thumbnail.Save('Thumbnail.jpg', Clsid, @Parameters); 
      Thumbnail.Free;
    end;
      

  2.   

    不错!
    to maozefa
    正在看你的博客!
    哈哈 
      

  3.   

    to 阿发伯
    那个没用,GetThumbnailImage方法得出的图像已经变模糊了。ps 我在大富翁上问一个关于亮度,对比度的问题,经别人介绍到你网站,得到解决。谢谢,这贴子的分都给你了。