0

我得到4種顏色關閉使用RMagick使用該代碼的圖像:如何在Ruby中獲得4種顏色的平均值?

color1 = img.pixel_color(1,1) 
color2 = img.pixel_color(50,1) 
color3 = img.pixel_color(1,50) 
color4 = img.pixel_color(50,50) 

我怎樣才能計算這些4種顏色的平均?

回答

3

像這樣的東西應該工作:

colors = [color1, color2, color3, color4] 
avg = Pixel.new colors.collect(&:red).inject(:+)/colors.size, 
    colors.collect(&:green).inject(:+)/colors.size, 
    colors.collect(&:blue).inject(:+)/colors.size 
+1

HSV或HSL可能會是一個更好的座標系統比RGB爲這樣的事情。 – 2011-12-23 04:59:18