【问题标题】:How do I test for the color of a pixel in my Java Applet?如何在我的 Java Applet 中测试像素的颜色?
【发布时间】:2014-12-11 05:45:46
【问题描述】:

我一直在做一些搜索,但我没有找到任何适合我需要的东西。我有一个用 Java 编写的小游戏小程序。我很好奇是否有办法让我获得 Applet Viewer 屏幕上像素的颜色值(最好是 RGB 格式)。我打算用它来检测碰撞。有没有办法在 Java Applet 屏幕上获取像素的颜色值?

【问题讨论】:

  • "..获取 Java Applet 屏幕上像素的颜色值?" 鉴于您的代码可能绘制了颜色,因此必须有更好的方法来解决这个问题. 1) 为了尽快获得更好的帮助,请发布MCVE(最小完整可验证示例)或SSCCE(简短、自包含、正确示例)。 2) 为什么要编写小程序?如果是老师指定的,请参考Why CS teachers should stop teaching Java applets

标签: java applet awt java-2d


【解决方案1】:
  1. 使用小程序的宽度/高度创建一个 BufferedImage。
  2. 通过在 BufferedImage 对象上调用 createGraphics() 创建一个 Graphics2D 对象。
  3. 将此 Graphics2D 对象传递给小程序的绘制方法 - 现在小程序将在您的 BufferedImage 上绘制。
  4. 在 Graphics2D 对象上调用 dispose()。
  5. 检查 BufferedImage 中的像素颜色。

顺便说一句,Andrew Thompson 说这一定是一种计算碰撞的无效方法可能是对的。可能您应该研究 Rectangle 的 intersects 方法。或者为了获得最佳结果,请使用游戏引擎,它们支持碰撞检测。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多