Ruby Rails中RMagick的ImageMagick脚本存在问题
我有以下命令行脚本,可以按照我的意愿工作:Ruby Rails中RMagick的ImageMagick脚本存在问题,ruby,imagemagick,rmagick,Ruby,Imagemagick,Rmagick,我有以下命令行脚本,可以按照我的意愿工作: convert photo.jpg-色彩空间灰色\(+clone-blur 0x10\)+交换-合成-分割-合成-线性拉伸5%x0%sketch.jpg 但是在我的Rails项目中,我很难让最终的图像看起来相同。我正在使用RMagick,我已经尽可能地遵循转换文档,但这并不完全正确 我的流程代码(在CarrierWave::Uploader::Base类中)如下所示: process :do_stuff def do_stuff manipul
convert photo.jpg-色彩空间灰色\(+clone-blur 0x10\)+交换-合成-分割-合成-线性拉伸5%x0%sketch.jpg
但是在我的Rails项目中,我很难让最终的图像看起来相同。我正在使用RMagick,我已经尽可能地遵循转换文档,但这并不完全正确
我的流程代码(在CarrierWave::Uploader::Base类中)如下所示:
process :do_stuff
def do_stuff
manipulate! do |img|
img.colorspace = Magick::GRAYColorspace
blur = img.clone.blur_image(0,10)
blurred = Magick::ImageList.new
blurred << blur
blurred << img
sketch = Magick::Image.new(300,20)
img = sketch.composite(blurred,Magick::CenterGravity,Magick::DivideCompositeOp)
img = img.linear_stretch('05%','00%')
end
end
过程:做一些事情
做什么
操纵do | img|
img.colorspace=Magick::GRAYColorspace
模糊=img.clone.blur\u图像(0,10)
模糊=Magick::ImageList.new
我讨厌回答我自己的问题,但我似乎已经解决了
看起来我太聪明了,但在读了几遍文档之后,我想我对+swap
和复合方法的交互方式感到困惑
据我所知,+swap
确保了不再在灰度图像上合成模糊图像,而是在模糊图像的顶部合成灰度图像
单击此按钮后,脚本看起来简单得多:
process :do_stuff
def do_stuff
manipulate! do |img|
img.colorspace = Magick::GRAYColorspace
blur = img.clone.blur_image(0,10)
img = blur.composite(img,Magick::CenterGravity,Magick::DivideCompositeOp)
img = img.linear_stretch('5%','0%')
end
end
这似乎产生了与我最初的ImageMagick脚本相同的结果。不想回答我自己的问题,但我似乎已经解决了它
看起来我太聪明了,但在读了几遍文档之后,我想我对+swap
和复合方法的交互方式感到困惑
据我所知,+swap
确保了不再在灰度图像上合成模糊图像,而是在模糊图像的顶部合成灰度图像
单击此按钮后,脚本看起来简单得多:
process :do_stuff
def do_stuff
manipulate! do |img|
img.colorspace = Magick::GRAYColorspace
blur = img.clone.blur_image(0,10)
img = blur.composite(img,Magick::CenterGravity,Magick::DivideCompositeOp)
img = img.linear_stretch('5%','0%')
end
end
这似乎产生了与我最初的ImageMagick脚本相同的结果