Używam programu rmagick do obsługi każdego pojedynczego piksela bitmapy. Muszę uzyskać wartości kolorów w głębokości 8 (256 kolorów), ale niestety, gdy używam piksela. [Kolor] (na przykład piksel czerwony), dostaję je do głębokości 16. Dzieje się to nawet po used image.quantize (256).Wartość koloru piksela rmagick
Oto kod:
require 'RMagick'
include Magick
image = ImageList.new("image.bmp")
image3 = image.quantize(number_colors = 256)
puts image3.number_colors
image2 = Image.new(image.columns, image.rows)
(0..image.columns).each do |x|
(0..image.rows).each do |y|
pixel = image3.pixel_color(x, y)
print pixel.red
print ", "
print pixel.green
print ", "
print pixel.blue
print "\n"
image2.pixel_color(x, y, pixel)
end
end
Co powinienem dostać tylko wartości 0..255?
Już omówiono tutaj: http://stackoverflow.com/questions/6499161/pixel-rgb-with-imagemagick-and-rails – gnuf