Я нашел способ сделать это с помощью Minimagick, но я не знаю, как использовать активные
вариантный способ хранения для этого. Поскольку он будет поддерживать ленивую функцию, я думаю, что это может быть лучше.
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