影像位置與顏色選擇器
「影像位置與顏色選擇器」提供了從系統相機膠卷與主目錄選擇截圖,並在截圖上標注一個或多個像素點,以取得其位置或顏色的能力。
類型為 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,
}