2011-12-22 64 views
1

是否有可能以某种方式在rails中执行以下操作?如何在Rails中选择特定像素的颜色?

  1. 获取的特定像素的从一个图像的颜色(例如,在由10px的位置10px的)
  2. 删除从图像该颜色的所有出现
  3. 裁剪图像(获取与透明像素来替换)排除任何外部透明像素

任何意见将不胜感激!

回答

1

这里是我如何做它用RMagick(感谢亚历克斯·韦恩指着我RMagick)的代码...

require 'RMagick' 
    img = Magick::Image.read("sample.jpg").first 
    bgcolor = img.pixel_color(1,1) 
    img.format = "PNG" 
    img.fuzz = 0.05 
    img.trim! 
    img.resize_to_fit!(100, 40) 

    bg = Magick::Image.new(100,40) { self.background_color = bgcolor } 
    img = bg.composite(img, Magick::CenterGravity, Magick::OverCompositeOp) 

    img.write("modified.png") 

对于我的初步要求(只删除外部颜色或空白边框),以下是您需要的全部内容:

require 'RMagick' 
img = Magick::Image.read("sample.jpg").first 
img.trim! 
img.write("sample.jpg") 
相关问题