如何在Ruby中获得4种颜色的平均值?

时间:2011-12-23 02:09:49

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 rmagick

我使用此代码使用RMagick从图像中获取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种颜色的平均值?

1 个答案:

答案 0 :(得分: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