PEEKCOLORピークカラー関数

本ページには広告が含まれています。

指定位置の色情報を取得します。戻り値は0(#000000)~16777215(#FFFFFF)の間の数値で返されます。指定できる座標の範囲は(x, y) = (0, 0)から(G_SCREEN_W-1, G_SCREEN_H-1)の範囲です。

構文
  1. Integer = PEEKCOLOR( X, Y, RGB指定, クリップボード指定 )
引数
X、Y (Integer)必須
座標 X、Y
RGB指定 (Integer = 0)省略可
0
BGR値にて返す (デフォルト)
COL_RGB(3)
RGB値にて返す
COL_R(4)
赤の成分のみを返す
COL_G(5)
緑の成分のみを返す
COL_B(6)
青の成分のみを返す
クリップボード指定 (#peekcolor = False)省略可
FALSE
画面より(デフォルト)
TRUE
クリップボードより
戻り値
指定位置の色情報
BGR値 例) 青:$FF0000、緑:$00FF00、赤:$0000FF、オレンジ:$0080FF、黄:$00FFFF
RGB値 例) 赤:$FF0000、緑:$00FF00、青:$0000FF、オレンジ:$FF8000、黄:$FFFF00

使い方

Color値から各成分を求める

AND(論理積)を使うことでColor値から各成分を求めることができます。

以下はカーソル位置の座標のColor値を一度だけ取得し、その値から赤成分、緑成分、青成分を計算で求めるプログラムです。

UWSC

以下のように各成分毎に取得することもできますが、PEEKCOLOR関数の実行のタイミングで対象座標の色が変化すると正しく取得できない場合もあり得ます。

UWSC

指定位置の色情報を取得

座標(x, y) = (100, 100)の色情報をColor値で取得します。

UWSC
結果
プレーンテキスト

Color値ではなく各成分で取得したい場合は、colorToRGB関数 (自作関数)もしくはcolorToBGR関数 (自作関数)を使います。

以下はPEEKCOLOR関数で返されたColor値を#RRGGBB形式にする例です。

UWSC
結果
プレーンテキスト

カーソル位置の色情報を吹き出しに表示

カーソル位置の色情報を吹き出しに表示します。

UWSC

指定座標の色変化を検知

x,yに色変化を検知したい座標を指定し、その座標の色情報を初期値としてcolorに代入します。

以下の例では座標(x, y) = (100, 100)の色情報を取得し、色の変化があるまで待機します。

<ruby>REPEAT文<rt></rt></ruby>の終了条件として最初に取得したcolorと現時点の色情報を比較し、値が変わればループを抜けます。色の変化がない場合無限ループになるので、対策としてESCで強制終了するようにしています。

色変化があった場合ループを抜けメッセージを表示します。

UWSC

指定座標の色の一致を検知

座標(x,y) = (0, 50)の色がRGB形式で#FFFFFFになるまで待機します。PEEKCOLOR関数はColor値でRGB形式と直接比較できないので、#FFFFFFをColor値に変換してから比較しています。PEEKCOLOR関数をcolorToRGB関数 (自作関数)でRGB形式に揃えて比較することも可能です。

UWSC

プログラム実行例

カーソル座標と色情報を取得

UWSC
結果
使用関数

マウス位置の色を取得

マウス位置の色情報を取得します。

UWSC
使用関数

関連記事

ACW関数 (スクリプト関数)
ウィンドウの状態を変更、またはアクティブにします。
CHKIMG関数 (スクリプト関数)
指定画像が画面上にあるかチェックし、あればその情報を返します。
invertedColor関数 (自作関数)
RGBの各成分、Color値、もしくは#RRGGBB形式の文字列から反転色を返します。返り値は引数と同じ形式で返します。
STATUS関数 (スクリプト関数)
ウィンドウの各種状態を返します。
BGRToColor関数 (自作関数)
引数に指定された青成分、緑成分、赤成分、もしくは#BBGGRR形式の文字列からColor値を求めます。
RGBToColor関数 (自作関数)
引数に指定された赤成分、緑成分、青成分、もしくは#RRGGBB形式の文字列からColor値を求めます。
colorToBGR関数 (自作関数)
Color値を青成分、緑成分、赤成分に分解し格納した配列で返します。各成分は10進数の値で表されます。flgにTrueを指定した場合、#BBGGRRの形式で返します。
colorToRGB関数 (自作関数)
Color値を赤成分、緑成分、青成分に分解し格納した配列で返します。各成分は10進数の値で表されます。flgにTrueを指定した場合、#RRGGBBの形式で返します。
EXEC関数 (スクリプト関数)
アプリを起動します。
MONITOR関数 (スクリプト関数)
マルチモニタ情報を取得します。