【问题标题】:Map image and get pixel color映射图像并获取像素颜色
【发布时间】:2019-07-24 15:37:17
【问题描述】:

我有 2 张图片,尺寸相同,图片相同,形状相同。 在第一张图片(我在屏幕上显示)中,形状是单色的,在第二张图片中,形状被映射为不同的颜色。

当我在图像上移动鼠标时,我想根据第二个(隐藏)图像上映射的颜色显示不同的文本。

我不想绘制方形区域,而是不规则区域,这是我的问题。

例如,当鼠标光标在头部(右图)上时,我在左图(缓存但未可视化)上得到红色,并放置了特定的文本。

如何加载第二张图像以获取像素颜色? Gosu 不允许获取图像信息(只有宽度和高度)。

有什么想法吗?

【问题讨论】:

  • 任何 ruby​​ 绑定到 imagemagick 都可以。
  • @AlekseiMatiushkin,这是完美的。谢谢!
  • 您有任何可以发布的实现代码示例吗?这个问题可能会更有用的答案,而不是仅仅带有图书馆链接的评论。

标签: ruby image-processing libgosu


【解决方案1】:

最后我选择了这个 GEM chunky_png,因为它不依赖于其他 gem 或库,非常适合我的需求:

@map_image = ChunkyPNG::Image.from_file('map_shape.png')                  

# Test pixel color
if @map_image[mouse_x - @main_image_x, mouse_y - @main_image_y] == ChunkyPNG::Color.rgb(255, 0,0)
 # Do something
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-21
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-11
    • 2014-12-06
    相关资源
    最近更新 更多