我使用Paperclip来调整像这样的图片:
class Asset < ActiveRecord::Base has_attached_file :asset,:styles => { :thumb => "80x80#",:medium => "1280x800>" },...
当原始图片的大小为32×32时:
>生成的媒体图片大小相同(即32×32),但文件有点不同,图片看起来有点变化.这是为什么 ?
>最终的拇指尺寸为80×80(看起来拉伸到适合这个尺寸).
当图片太小时,我怎么能避免调整图片大小.假设原始图片的尺寸在宽度和高度变量中.
解决方法
(1)可能是因为Paperclip正在解码JPEG然后编写/编码新的JPEG. JPEG是一种有损格式,因此每种编码都会降低图像质量.您可以使用
convert_options
来调整
JPEG quality,但您可能不得不接受JPEG中的一些降级.
(2)是因为Paperclip正在按照它所说的去做. Paperclip使用ImageMagick进行繁重的工作,样式尺寸仅为ImageMagick geometry strings和one modification:
Paperclip also adds the “#” option (e.g. “50×50#”),which will resize the image to fit maximally inside the dimensions and then crop the rest off (weighted at the center).
你的:拇指风格使用“#”所以你告诉Paperclip你想要一个80×80的图像,即使图像必须缩放并裁剪到那里.您可以从维度字符串中删除“#”,如果需要或适当,添加the other modifiers中的一个.