2011-12-22 63 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") 
相關問題