And*_*s H 11 ruby imagemagick heroku sinatra
我正在尝试打开一个图像文件,并在变量/数组中按颜色存储像素列表,这样我就可以逐个输出它们.
图像类型:可以是BMP,JPG,GIF或PNG.其中任何一个都很好,只需要支持一个.颜色输出:RGB或Hex.
我看过几个库(RMagick,Quick_Magick,Mini_Magick等),它们看起来都有些过分.Heroku在ImageMagick上也遇到了一些困难,我的测试也没有运行.我的申请是在Sinatra.
有什么建议?
Ale*_*lex 14
您可以使用Rmagick的each_pixel这种方法.each_pixel接收一个块.对于每个像素,块传递像素,列号和像素的行号.它从左到右和从上到下迭代像素.
所以类似于:
pixels = []
img.each_pixel do |pixel, c, r|
pixels.push(pixel)
end
# pixels now contains each individual pixel of img
Run Code Online (Sandbox Code Playgroud)
Phr*_*ogz 14
我认为Chunky PNG应该为你做.它是纯粹的红宝石,相当轻巧,内存效率高,并且可以访问像素数据和图像元数据.