Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: ezbreez on April 23, 2015, 08:54:02 PM
-
Доброго времени суток. По примеру из закрепленной темы на форуме "написал" скрипт.
getscreen
if_pixel_in(589, 191, 1044, 651, 0,1,2,3,4,5,6,7,8,9,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40)
lclick($_return1, $_return2)
end_if
В графическом редакторе, скрипт закрашивает линии черного цвета или близкого к черному. Но дело в том, что из за того что кисть размером не в 1 пиксель слои краски многократно накладываются друг на друга в процессе закрашивания. Можно ли как-то минимизировать это наложение? На ум приходит проверка н-ного количества пикселей на черный цвет в четыре стороны от начального. Но как это реализовать я пока не понимаю. Прошу помощи или советов по более эффективному закрашиванию.
-
Добавлю, что необходимо закрашивать не линии, а скорее а области черного цвета. Еще допускается, что не весь черный цвет будет закрашен, а хотя бы основная его часть.
-
Хелп! Неужели никто не знает? Нужен хотя бы код, который проверял соседние пиксели на черный цвет, а только затем кликал.
-
...который проверял соседние пиксели на черный цвет, а только затем кликал.
Код:
Проверяем пикселы.
Итог: пикселы проверены. :-) :-)
Проверял на что? Что есть чёрный или нет? Или их больше/меньше определённого количества? Когда кликать?
-
Проблема в том, что скрипт ищет черный пиксель слева направо и одно и то же место закрашивает по нескольку раз.
Или их больше/меньше определённого количества?
Это в идеале. Например, если черных пикселей в кругу пера, скажем, 30 штук тогда кликать. У меня была идея проверять на черный цвет помимо начального пикселя (1), еще пиксели помеченные крестом.
(http://s018.radikal.ru/i523/1504/8d/0df82240d7c0.png)
-
Ну так и проверяй
GETSCREEN
IF_PIXEL_IN(589, 191, 1044, 651, 0,1,2,3,4,5,6,7,8,9,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40)
$X = $_return1
$Y = $_return2
IF((PXL($X-1,$Y) < 41) & (PXL($X-2,$Y) < 41) & (PXL($X+1,$Y) < 41) & (PXL($X+2,$Y) < 41) & (PXL($X,$Y-1) < 41) & (PXL($X,$Y-2) < 41) & (PXL($X,$Y+1) < 41) & (PXL($X,$Y+2) < 41))
lclick($X, $Y)
END_IF
END_IF
-
Не совсем по теме, но всёже.
скрипт закрашивает линии черного цвета или близкого к черному
судя по коду, скрипт ищет цвета от 0 до 40. но это всеголиш черные оттенки красного цвета . то есть в виде ргб цвет 40 будет выглядеть (40,0,0), но если добавлять оттенки зеленого или синего, визуально цвет будет тоже черным. тоесть все цвета от ргб(0,0,0) до ргб(40,40,40) должны подходить под описание "черный или близко к черному", а таких вариантов 41х41=1681 цветов. врядли выйдет вписать тебе в скрипт столько цветов.
я бы предложил использовать цветокоррекцию. к примеру при COLORMODE(5) все цвета от ргб(0,0,0) до ргб(31,31,31) будут равны цвету 2039583. COLORMODE(6) уравнивает цвета уже от ргб(0,0,0) до ргб(63,63,63), а ргб(63,63,63) это уже несовсем черный. поэтому тебе бы больше подошел COLORMODE(5)
вобщем, поиск черного цвета или близкого к черному было бы правильнее определить так:
getscreen
COLORMODE(5, 589, 191, 1044, 651)
if_pixel_in(589, 191, 1044, 651, 2039583)
lclick($_return1, $_return2)
end_if
немного ошибся с цифрами. цвета от ргб(0,0,0) до ргб(40,40,40) - количество вариантов 41х41х41= 68921 черных цветов.