我正在尝试打开一个图像文件并按颜色将像素列表存储在变量/数组中,以便我可以一个一个地输出它们。
图像类型:可以是 BMP、JPG、GIF 或 PNG。任何一个都可以,只需要支持一个。 颜色输出:RGB 或 Hex。
我查看了几个库(RMagick、Quick_Magick、Mini_Magick 等),它们看起来都太过分了。 Heroku 在使用 ImageMagick 时也有一些困难,我的测试无法运行。我的应用程序在 Sinatra 中。
有什么建议吗?
最佳答案
您可以使用 Rmagick
的 each_pixel
为此的方法。 each_pixel
接收一个 block 。对于每个像素, block 传递像素、像素的列号和行号。它从左到右和从上到下遍历像素。
所以像这样:
pixels = []
img.each_pixel do |pixel, c, r|
pixels.push(pixel)
end
# pixels now contains each individual pixel of img
关于ruby - 在 Ruby 中逐像素读取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4342100/