画像の位置と色セレクター
「画像の位置と色セレクター」では、システムのカメラロールまたはホームディレクトリからスクリーンショットを選び、その上で一つ以上のピクセルを指定して位置や色を取得できます。
種類が pos の「単一画像位置セレクター」では、ユーザーが一つのピクセルを選択して、その位置を取得できます。戻り値は 二つの数値を含む配列 で、各数値はピクセルの x 座標と y 座標です。次に例を示します。
{ 512, 373 }
種類が color の「単一画像色セレクター」では、ユーザーが一つのピクセルを選択して、その色を取得できます。戻り値はピクセルの色を表す RGB の数値形式 です。次に例を示します。
0x3c1f8b
種類が poscolor の「単一画像位置・色セレクター」では、ユーザーが一つのピクセルを選択して、その位置と色を取得できます。戻り値は 三つの数値を含む配列 で、各数値はピクセルの x 座標、y 座標、色を表す RGB の数値形式です。次に例を示します。
{ 512, 373, 0x3c1f8b }
種類が poscolors の「複数画像位置・色セレクター」では、ユーザーが一つ以上のピクセルを選択して、それぞれの位置と色を取得できます。戻り値は 二次元配列 で、選択したすべてのピクセルについて、x 座標、y 座標、色を表す RGB の数値形式が含まれます。次に例を示します。
{
{ 512, 373, 0x3c1f8b },
{ 512, 374, 0x3c1f7c },
{ 512, 375, 0x3c1f89 },
-- ...
}
例
local group, name
group = '图色'
name = 'if (screen.is_colors(poscolors, 90)) then ... end'
return {
name = string.format('%s - %s', group, name),
description = "屏幕多点颜色匹配",
arguments = {
{type = 'poscolors'},
},
-- default = nil, -- このセレクターは現在デフォルト値をサポートしていません
generator = function(poscolors)
local pcs = {}
for i, pc in ipairs(poscolors) do
pcs[#pcs + 1] = string.format('\t{ %4d, %4d, 0x%06x}, -- %3d\n', pc[1], pc[2], pc[3] & 0x00ffffff, i)
end
return string.format([[
if (screen.is_colors({
%s}, 90)) then
@@
end]], table.concat(pcs)) -- 返されるテキストコードスニペットに @@ を挿入すると、エディターのカーソルが自動的にこの位置へ移動します。
end,
}