Перейти к основному содержимому

Выборщик положения и цвета изображения

«Выборщик положения и цвета изображения» позволяет выбрать снимок из системной фотоплёнки или главного каталога и отметить на нём одну или несколько точек, чтобы получить их положение или цвет.

«Выборщик одного положения изображения» типа 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,
}

IMG_0009.PNG

IMG_0010.PNG

IMG_0013.PNG