2010-09-10 91 views
2

我需要将rmagick中的图像从其当前大小调整为固定宽度,宽度为300,而不会损失图像质量。目前,我做以下的JPG图片使用rmagick在rails上调整ruby图像的质量而不损失质量

if previewImage.columns > 300 
     previewImage.change_geometry!("300x") { |cols, rows, img| 
      img.resize!(cols, rows) 
     } 
    end 

我不知道,如果是最好的方法,因为我得到的图像失去清晰度。我希望能够通过丢失最少量的图像质量来调整大小。

我知道有过滤器和压缩技术: JPG JPEGCompression,LosslessJPEGCompression

但不知道这将提供最好的结果,或者可以我将图像转换为PNG,然后调整?

回答

3

转换为PNG将是无损的。调整大小总是意味着质量的一些损失(你可以尝试各种图像magick调整大小过滤器,看看哪一个最适合你的图像...真的没有“最好”的,这就是为什么他们让你选择。你处理的内容通常都是一样的,但是你应该能够通过试验来选择一个最佳的,从PNG到JPG的转换意味着更多的损失,所以如果你走这条路线,我会保留图片在PNG上。

+0

谢谢,将继续进行一些实验.. – Anand 2010-09-10 08:04:01