如何使用imagemagick和回形针将缩略图应用于缩略图?

我想通过让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完全陌生,任何帮助将不胜感激。
已邀请:

tut

赞同来自:

我发现使用rmagick界面而不是发送命令行选项到imagemagick本身更容易。 如果您使用rmagick,则可以使用阴影方法。

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写了一个抽象库,试图让它更易于使用。 我称它为RubyShop,因为它试图模仿基于photoshop图层的合成..(我真的很讨厌这个名字,如果我重新开始项目,它可能会改变它)

cvelit

赞同来自:

经过一些试验和错误,并把我的头埋在文档中,我终于明白了。

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. 确保您安装了最新版本的ImageMagick。
  2. [“100x100#”,::PNG]会将图像转换为png,因此阴影是透明的。
  3. 在转换选项下,:thumb只会将转换应用于:thumb样式,请使用:all将转换应用于所有样式。
  4. 调整“70x4 + 0 + 0”以获得您想要的影子。

要回复问题请先登录注册