Aller au contenu principal

Sélecteur de position et couleur d’image

Le « sélecteur de position et couleur d’image » permet de choisir une capture depuis la pellicule système ou le répertoire principal, puis d’y marquer un ou plusieurs pixels afin d’obtenir leur position ou leur couleur.

Le type pos permet de choisir un pixel et d’en obtenir la position. Il renvoie un tableau de deux nombres : les coordonnées x et y du pixel, par exemple :

{ 512, 373 }

Le type color permet de choisir un pixel et d’en obtenir la couleur. Il renvoie la couleur du pixel sous forme numérique RGB, par exemple :

0x3c1f8b

Le type poscolor permet de choisir un pixel et d’en obtenir la position et la couleur. Il renvoie un tableau de trois nombres : x, y, puis la forme numérique RGB de la couleur, par exemple :

{ 512, 373, 0x3c1f8b }

Le type poscolors permet de choisir un ou plusieurs pixels et d’en obtenir les positions et les couleurs. Il renvoie un tableau à deux dimensions contenant, pour chaque pixel sélectionné, x, y et la forme numérique RGB de la couleur, par exemple :

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

Exemple

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, -- Ce sélecteur ne prend pas encore en charge une valeur par défaut
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)) -- Insérer @@ dans le snippet texte retourné déplace automatiquement le curseur de l’éditeur à cet emplacement.
end,
}

IMG_0009.PNG

IMG_0010.PNG

IMG_0013.PNG