Ich benutze rmagick, um mit jedem einzelnen Pixel einer Bitmap umzugehen. Ich muss die Werte der Farben in der Tiefe von 8 (256 Farben) erhalten, aber leider, wenn ich Pixel verwende [Farbe] (Pixel. Rot zum Beispiel), bekomme ich sie in Tiefe 16. Es geschieht sogar nach i verwendetes image.quantize (256). Hierrmagick pixel color value
ist der Code:
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
Was soll ich nur Werte von 0..255 zu bekommen?
Bereits hier diskutiert: http://stackoverflow.com/questions/6499161/pixel-rgb-with-imagemagick-and-rails – gnuf