我的问题是,当使用ChunkyPNG分析像素时,完全没有颜色的像素的值是rgb(0,0),而黑色像素的值是rgb(0,0) ).有什么方法可以区分它们吗?检查不透明度或…我缺少什么?
这是我的代码:
chunky_image = ChunkyPNG::Image.from_file("test.png")wIDth = chunky_image.dimension.wIDthheight = chunky_image.dimension.height(0..wIDth - 1).each do |x| (0..height- 1).each do |y| red = ChunkyPNG::color.r(chunky_image[x,y]) green = ChunkyPNG::color.g(chunky_image[x,y]) blue = ChunkyPNG::color.b(chunky_image[x,y]) p "red: " + red.to_s p "green: " + green.to_s p "ble: " + blue.to_s endend解决方法 您需要rgba值而不是rgb值.
如果r,g,b为0且a为255,则为纯黑色
如果r,b为0且a> 0但是< 255它仍然是黑色但是或多或少透明 如果a为0,无论r,b是完全透明的(你的话中没有颜色) 所以你错过的是color.a(像素)值.希望你的照片有color_TRUEcolor_Alpha
总结以上是内存溢出为你收集整理的ruby – 如何区分没有颜色的像素和黑色像素?全部内容,希望文章能够帮你解决ruby – 如何区分没有颜色的像素和黑色像素?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)