私は自分のマウスが指している色を表示するアプリケーションを作成しようとしています。自分のアプリケーションではなく、任意の画面のウィンドウのどこでも、正確な色を表示するマウスポインタの横にあるタグのようなものです。
私はJava開発者ですが、これがJavaで実行できるとは思いません。おそらく何らかのスクリプトが必要だと思いますが、実際に助けが必要になるかどうかはわかりません。
私は自分のマウスが指している色を表示するアプリケーションを作成しようとしています。自分のアプリケーションではなく、任意の画面のウィンドウのどこでも、正確な色を表示するマウスポインタの横にあるタグのようなものです。
私はJava開発者ですが、これがJavaで実行できるとは思いません。おそらく何らかのスクリプトが必要だと思いますが、実際に助けが必要になるかどうかはわかりません。
このソリューションは、次の 2 つの部分で構成されています。
パート 1: 色の取得:
Point mouseLocation = MouseInfo.getPointerInfo().getLocation();
Color color = new Robot().getPixelColor(mouseLocation.x, mouseLocation.y);
パート 2: 色の名前を取得する:
多くの色とその名前のリストは、ウィキペディアの色のリスト から取得できます。ウィキペディアのデータがあれば、Java でマッピングを作成できます。
おそらく、いくつかの色から始めて、不明な色の一般的な 16 進数表現を提供することができます#rrggbb
。
これが実行可能な例です。
import java.awt.AWTException;
import java.awt.Color;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.Robot;
public class Main {
public static String getHexString(int rgb) {
String hexString = Integer.toHexString(rgb);
hexString = hexString.length() > 1 ? hexString : "0" + hexString;
return hexString;
}
public static void main(String[] a) throws AWTException {
Point mouseLocation = MouseInfo.getPointerInfo().getLocation();
Color color = new Robot().getPixelColor(mouseLocation.x,
mouseLocation.y);
System.out.println(getHexString(color.getRed())
+ getHexString(color.getGreen())
+ getHexString(color.getBlue()));
}
}
選択してください: http://rosettacode.org/wiki/Color_of_a_screen_pixel
Java/AWT の例があり、AutoHotKey は単純なスクリプト化されたオプションです。
2 番目の C の例は、必要な 3 つの API 呼び出しGetDC/GetCursorPos/GetPixel
とそれらのサポート コードを示しています。これらは、Windows 用にコンパイルするほとんどの言語で使用できます。