Selector de posición y color de imagen
El «selector de posición y color de imagen» permite seleccionar capturas del carrete del sistema o del directorio principal y marcar uno o varios píxeles para obtener su posición o color.
El «selector de una posición de imagen» de tipo pos permite seleccionar un píxel y obtener su posición. Su valor de retorno es una matriz que contiene dos números, las coordenadas x e y del píxel, respectivamente. Por ejemplo:
{ 512, 373 }
El «selector de un color de imagen» de tipo color permite seleccionar un píxel y obtener su color. Su valor de retorno es el color del píxel en forma numérica RGB. Por ejemplo:
0x3c1f8b
El «selector de posición y color de imagen» de tipo poscolor permite seleccionar un píxel y obtener su posición y color. Su valor de retorno es una matriz que contiene tres números: las coordenadas x e y del píxel y el color RGB del píxel en forma numérica. Por ejemplo:
{ 512, 373, 0x3c1f8b }
El «selector de varias posiciones y colores de imagen» de tipo poscolors permite seleccionar uno o varios píxeles y obtener sus posiciones y colores. Su valor de retorno es una matriz bidimensional que contiene las coordenadas x e y y el color RGB en forma numérica de cada píxel seleccionado. Por ejemplo:
{
{ 512, 373, 0x3c1f8b },
{ 512, 374, 0x3c1f7c },
{ 512, 375, 0x3c1f89 },
-- ...
}
Ejemplo
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, -- Este selector todavía no admite un valor predeterminado
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)) -- Insertar @@ en el código devuelto para que el cursor del editor se desplace automáticamente hasta ese punto.
end,
}