我想通过将imagemagick应用投影到所有缩略图来改变回形针中缩略图的处理。我坚持的是实际的imagemagick命令,它将把这个小奇迹拉下来。我尝试过的所有东西都会返回一个缩放不正确的投影,而没有原始图像。
def transformation_command
scale, crop = @current_geometry.transformation_to(@target_geometry, crop?)
trans = ""
trans << " -resize \"#{scale}\""
trans << " -crop \"#{crop}\" +repage" if crop
# Apply Drop Shadow
trans << " #{convert_options}" if convert_options?
trans
end
我试过一次......
def transformation_command
scale, crop = @current_geometry.transformation_to(@target_geometry, crop?)
trans = ""
trans << " -resize \"#{scale}\""
trans << " -crop \"#{crop}\" +repage" if crop
trans << " \( +clone -background black -shadow 60x5+10+10 \) +swap -background none -layers merge +repage"
trans << " #{convert_options}" if convert_options?
trans
end
我对imagemagick完全陌生,任何帮助都会非常感激。
答案 0 :(得分:4)
经过一些试验和错误并将我的头埋在文档中后,我终于明白了。
has_attached_file :image,
:styles => { :thumb => ["100x100#", :png] },
:convert_options => { :thumb => '\( +clone -background black -shadow 70x4+0+0 \) +swap -background none -layers merge +repage' }
答案 1 :(得分:1)
我发现使用rmagick界面而不是向imagemagick本身发送命令行选项要容易得多。
如果使用rmagick,则可以使用shadow方法。
img = Image.read('slide.png').first
shadow = img.shadow(0, 0, 0.0, '20%')
然后将图像合成阴影。
我写了一篇关于使用rmagick的文章:http://schf.uc.org/articles/2006/10/18/render-greatlooking-collages-with-ruby-and-rmagick
尝试阅读它可能会让你更好地理解。
我还为rmagick写了一个抽象lib,试图让它更容易使用。 我称之为RubyShop,因为它试图模仿基于photoshop图层的合成。(我真的很讨厌这个名字,如果我复活这个项目,可能会改变它)