Pregunta MiniMagick: corte el círculo de la imagen cuadrada


Necesito transformar una imagen cuadrada en una imagen circular con MiniMagick.

Sé que hay un camino con ImageMagick:

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

He intentado traducir:

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

Entiendo esto, un círculo negro con mi gran nariz como imagen de fondo:

enter image description here

si alguien sabe cómo traducir esto correctamente ... ¡por favor!


11
2018-04-08 18:35


origen


Respuestas:


Solo usa 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

Personalmente, nunca trato de recordar todos los nombres de métodos domésticos y siempre uso el enfoque de núcleo de metal.


4
2018-04-13 11:57



¿Esto es para subir un usuario de un sitio web? Si es así, probablemente sea mejor usar CSS para convertir la imagen en un círculo, se ahorraría mucho procesamiento del servidor y si sientes que en el futuro te gustaría volver a una imagen cuadrada, es mucho más fácil que cambiar individualmente las imágenes a las versiones cuadradas, es quizás solo una línea de código CSS.


0
2018-04-18 11:50