Zum Hauptinhalt springen

Auswahl von Bildposition und -farbe

Der „Auswähler für Bildposition und -farbe“ ermöglicht die Auswahl eines Screenshots aus der System-Fotobibliothek oder dem Home-Verzeichnis und die Markierung eines oder mehrerer Pixel, um deren Position oder Farbe zu ermitteln.

Der „Auswähler für eine einzelne Bildposition“ mit dem Typ pos erlaubt die Auswahl eines Pixels und gibt dessen Position zurück. Der Rückgabewert ist ein Array mit zwei Zahlenwerten: x- und y-Koordinate des Pixels, zum Beispiel:

{ 512, 373 }

Der „Auswähler für eine einzelne Bildfarbe“ mit dem Typ color erlaubt die Auswahl eines Pixels und gibt dessen Farbe als numerischen RGB-Wert zurück, zum Beispiel:

0x3c1f8b

Der „Auswähler für eine einzelne Bildposition und -farbe“ mit dem Typ poscolor erlaubt die Auswahl eines Pixels und gibt dessen Position und Farbe zurück. Der Rückgabewert ist ein Array mit drei Zahlenwerten: x-Koordinate, y-Koordinate und numerischer RGB-Wert des Pixels, zum Beispiel:

{ 512, 373, 0x3c1f8b }

Der „Auswähler für mehrere Bildpositionen und -farben“ mit dem Typ poscolors erlaubt die Auswahl eines oder mehrerer Pixel und gibt deren Positionen und Farben zurück. Der Rückgabewert ist ein zweidimensionales Array mit x-Koordinate, y-Koordinate und numerischem RGB-Wert jedes ausgewählten Pixels, zum Beispiel:

{
{ 512, 373, 0x3c1f8b },
{ 512, 374, 0x3c1f7c },
{ 512, 375, 0x3c1f89 },
-- ...
}

Beispiel

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, -- Dieser Auswähler unterstützt derzeit keinen Standardwert
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)) -- @@ im zurückgegebenen Code-Snippet einfügen, damit der Editorcursor automatisch dorthin springt.
end,
}

IMG_0009.PNG

IMG_0010.PNG

IMG_0013.PNG