使用RMagick剪切图像中的圆圈

swi*_*itz 5 ruby rmagick imagemagick image-processing

我想用rmagick从图像中剪出一个圆圈.

这是我希望能够实现的一个例子:

http://img375.imageshack.us/img375/1153/walterf.jpg http://img375.imageshack.us/img375/1153/walterf.jpg - >http://img15.imageshack.us/img15/8129/circlethumb.png

好像我想用http://studio.imagemagick.org/RMagick/doc/draw.html#circle剪一个圆圈,然后用clip_path来掩盖它,但文档不是很清楚.有人能指出我正确的方向吗?

小智 12

require 'rmagick'

im = Magick::Image.read('walter.jpg').first

circle = Magick::Image.new 200, 200
gc = Magick::Draw.new
gc.fill 'black'
gc.circle 100, 100, 100, 1
gc.draw circle

mask = circle.blur_image(0,1).negate

mask.matte = false
im.matte = true
im.composite!(mask, Magick::CenterGravity, Magick::CopyOpacityCompositeOp)

im.write 'walter_circle.png'
Run Code Online (Sandbox Code Playgroud)