MiniMagick:从正方形图像中切出圆形

MiniMagick : Cut circle out of square image

我需要用 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

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

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

只需使用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

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

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