【问题标题】:WorldWind color at pick point拾取点的 WorldWind 颜色
【发布时间】:2015-06-16 15:27:40
【问题描述】:

我正在尝试找出一种方法来以编程方式获取用户单击 WorldWind AnalyticSurface 的点的视觉颜色(而不是拾取颜色)。

查看AnalyticSurfacePickedObjectList,我不确定我需要将哪些 API 调用串在一起来执行此操作,或者是否可能。

【问题讨论】:

  • 您的链接已损坏

标签: java swing awt worldwind


【解决方案1】:

这是一个可能的解决方案。试试看嘛。 单击时,(我假设您已经创建了一些带有mouseClicked() 方法的MouseListener 对象),只需将当前鼠标指针在整个计算机屏幕上的位置作为坐标。

import java.awt.MouseInfo;
import java.awt.PointerInfo;
import java.awt.Point;
PointerInfo pi=MouseInfo.getPointerInfo();
Point p=pi.getLocation();

现在我们得到了屏幕上点击的位置。

使用 Robot 类,您可以获取该位置的像素。

import.java.awt.Robot;
import.java.awt.Color;
Robot robot=new Robot();
Color color=robot.getPixelColor(p.x,p.y) ;
// you got the color at the clicked point.

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    稍微看一下 API,除非您使用一些解决方法,否则我认为这是不可能的。好的,让我们从头开始:

    1。如何获取点击事件?

    似乎没有简单的方法。你能从父容器中获取点击事件吗?或者,如果您首先单击“选择颜色”之类的按钮,则此按钮可能会在前面放置一个不可见的框架,这会抓住下一次单击(然后立即关闭它,并在单击位置返回颜色,因此其余部分与以前一样)。

    2。如何获取颜色?

    除非您有某种数学方法计算点击位置的颜色,否则您可以尝试使用createScreenCapture(...)Robot 类),然后使用getRGB(...) 获取像素颜色。或者,如果您要使用透明叠加层,则可以直接获取颜色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-04
      • 1970-01-01
      • 1970-01-01
      • 2014-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-17
      相关资源
      最近更新 更多