MiniMagick:从方形图像中剪切圆圈

时间:2015-04-08 18:35:20

标签: ruby imagemagick minimagick

我需要使用MiniMagick转换圆形图像中的方形图像。

我知道wayImageMagick

convert -size 300x300 xc:transparent -fill "image.png" -draw "circle 240,90 290,90" -crop 100x100+190+40 +repage circle1.png

我试图翻译:

img.combine_options do |c|
  c.draw "circle 240,90 290,90"
  c.crop "100x100+190+40"
  c.repage.+
end

我得到这个东西,一个黑色的圆圈,我的大鼻子作为背景图片:

enter image description here

如果有人知道如何正确翻译...请!!

2 个答案:

答案 0 :(得分:4)

只需使用Metal

require 'mini_magick'

MiniMagick::Tool::Convert.new do |cvrt|
 cvrt.size '300x300'
 cvrt << 'xc:transparent'
 cvrt.fill 'image.png'
 cvrt.draw "circle 240,90 290,90"
 cvrt.crop '100x100+190+40'
 cvrt.repage.+
 cvrt << 'circle.png'
end

我个人从不试图记住所有这些国内方法名称,并始终使用金属核心方法。

答案 1 :(得分:0)

这是网站用户上传的吗?如果是这样,你可能最好使用CSS将图像转换为圆形,它可以节省大量的服务器处理,如果你觉得将来你想恢复到方形图像,那就容易多了而不是单独将图片更改回方形版本,它可能只是一行CSS代码。