我正在使用paperclip gem来处理图像。
在某些图片中,我需要剪切源图像的前35个像素,然后进行转换和处理
目前我正在使用
:convert_options => {
all: lambda{ |instance| "#{!instance.chop_top.blank? ? '-chop 0x35' : '' } -limit memory 64 -limit map 128"},
mobile_sm: "-resize 620 -quality 90 -strip -interlace Plane",
mobile_lg: "-resize 1280 -quality 80 -strip -interlace Plane",
feature: "-quality 90 -strip -interlace Plane",
medium: "-quality 85 -strip -interlace Plane",
preview: "-quality 85 -strip -interlace Plane",
tiny: "-quality 90 -strip -interlace Plane"}
这主要是有效的,但是在mobile_lg
上看起来调整大小后会发生剁碎(我猜这种情况也会发生在其他人身上,而且不太明显)
如何使用-chop
以便在调整大小之前执行此操作?
答案 0 :(得分:0)
使用+repage
而不是:all
基本上看起来像
all: "-limit memory 64 -limit map 128",
mobile_sm: lambda{ |instance| "#{!instance.chop_top.blank? ? '-chop 0x31 +repage' : '' } -resize 640 -quality 90 -strip -interlace Plane"},
mobile_lg: lambda{ |instance| "#{!instance.chop_top.blank? ? '-chop 0x31 +repage' : '' } -resize 1280 -quality 80 -strip -interlace Plane"},
它可以重构,但c'est la vie
出于某种原因,将lambda放在all
中不起作用,所以我猜这种行为是不同的。