我是RoR的新手,对于我们需要调整大小并将图像裁剪成圆形/椭圆形图像的功能。我正在使用Carrierwave gem上传它们和rmagick(2.1.2)来修改rails 4.1平台上的图像。
最重要的是,我们需要在渲染之前动态地使用某种颜色(保存在模态中,每个图像将根据某些参数具有不同的颜色)来屏蔽图像。
对于第一部分,我正在尝试这个:
def crop_large
manipulate! do |source|
source = source.resize_to_fill(450,450).quantize(256,Magick::GRAYColorspace).contrast(true)
canvas = Magick::Image.new 450,450
gc = Magick::Draw.new
gc.fill "black"
gc.circle 225,225,5,225
gc.draw canvas
mask = canvas.blur_image(0,1).negate
mask.matte = false
source.matte = true
source.composite!(mask, Magick::CenterGravity, Magick::MultiplyCompositeOp)
end
end
但这会留下黑色边框,我不知道如何摆脱它们。关于如何解决这个问题的任何线索?
另外,我不知道如何完成第二部分。
答案 0 :(得分:0)
听起来你有样式问题,通过添加一两个类来修复它, 它会容易得多。