保存在具有预定义高度,宽度和(x,y)索引的轨道中后自动裁剪图像

时间:2012-11-12 18:38:47

标签: ruby-on-rails image resize paperclip crop

I want to remove blue extra background automatically not manually  我正在搜索保存图像后自动裁剪图像的方法:

在将html转换为rails中的图像时,我遇到了一个繁琐的问题。 我的问题是当html转换为图像时,额外的背景也会附加到图像,我不需要这样尝试在通过某些代码保存回调后裁剪图像。

我需要特定于问题的答案,任何帮助都会得到满足。

提前致谢

朋友我提供了以下解决方案,但我需要比我提供的解决方案更高效和有效。

1)我想用较短的一行

2)只有很少的裁剪成本

3)高效算法

3 个答案:

答案 0 :(得分:0)

我认为最合适的方法是使用ImageMagic,它有自己的脚本语言(或API)。看一下这个Railscast。它使用CarrierWawe,我认为这对你来说不是问题。

答案 1 :(得分:0)

保存图像后,我将此方法称为裁剪图像

def reprocess_final_image

    image_file_url = Rails.root.to_s+'/public'+self.final_image.url(:original).split('?')[0]
    img = Magick::Image.read(image_file_url).first
    img.format = "PNG"
    img.crop_resized!(240,200, Magick::NorthWestGravity)
    img.write(image_file_url)


  end

其中Crop resized方法有参数 img.crop_resized!(宽度,高度,重力)

答案 2 :(得分:0)

Cloudinary为这类事情提供了很棒的服务。与Heroku轻松融合!