Author Topic: IF_PICTURE_IN - Для новичков  (Read 79414 times)

0 Members and 1 Guest are viewing this topic.

melkichelik

  • Освоившийся
  • **
  • Posts: 28
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #75 on: January 15, 2021, 09:27:44 PM »
ну конечно-же можно, устанавливайте программно размер окна; попиксельно идентичный тому, на котором сканировались ваши картинки.
А этот тут при чем? На обеих системах одно и то же разрешение, окно браузере в данном случае раскрывается на весь экран, браузер один и тот же, так, что размер окна тут не при чем, ну и самое главное, в браузере картинки не меняют свой размер (которые мы ищем), в виртуалке же как я понимаю там драйвер по умолчанию возможно этому мешает, я хз как там обстоят дела.
« Last Edit: January 15, 2021, 09:31:35 PM by melkichelik »

kiril

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: это явно не Для новичков
« Reply #76 on: January 18, 2021, 06:33:12 PM »
А этот тут при чем? На обеих системах одно и то же разрешение, окно браузере в данном случае раскрывается на весь экран, браузер один и тот же, так, что размер окна тут не при чем, ну и самое главное, в браузере картинки не меняют свой размер (которые мы ищем), в виртуалке же как я понимаю там драйвер по умолчанию возможно этому мешает, я хз как там обстоят дела.
А этот тут при чем?  Вы полностью изменили условия после получения ответа, если многократно проверенное решение лично вас по какой-то причине не устраивает, то не нужно городить костыли, чтоб представить его бесполезным, ищите самостоятельное решение на основе своих предположений и понимания.
Для статистики замечу, что у меня проблем с переносом картинок с основной на виртуальную операционную систему, и на чужие компы, давно уже не возникает, вплоть до генерации самим скриптом, любых нужных ему  для работы картинок, в процессе работы на другом компьютере .

Алексей87

  • Освоившийся
  • **
  • Posts: 32
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #77 on: February 18, 2021, 12:59:57 AM »
Всем привет.
Подскажите пожалуйста, поразбирался с данным функционалом.
На данный момент у меня лучше получается разпознавать необходимые объекты используя
if_pixel_in нежели IF_PICTURE_IN
А теперь вопрос:
в каталоге C:\......\Clickermann\projects\if_picture_in имеется встроенный скрипт проверки main.cms и у меня даже он не отрабатывает. Всегда - картинка не найдена.
1. Естественно окно редактора при этом свернуто;
2. Пробовал менять параметры самого IF_PICTURE_IN;
3. Запускаю ПО от администратора;
4. Привязок к окнам не делал;
Ничего не помогло, кто-то может дать пояснения.

Алексей87

  • Освоившийся
  • **
  • Posts: 32
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #78 on: February 18, 2021, 08:26:13 AM »
.......... Вот этот снимок он и делает с помощью команды GETSCREEN. Если эта команада без координат, то Clickermann помещает в свой графический буфер скриншот ВСЕГО вашего экрана.................

Не подтверждаю. На моем устройстве (ноутбук Dell) данная команда помещает в свой графический буфер скриншот НЕ всего экрана, а примерно 2\3 начиная с нулевых координат.
Можете пояснить данную ситуацию и дать рекомендации?
Очень странное поведение. На ноутбуке Win 10 Pro захватывается 2\3 как писал выше.
На виртуальной машине на базе Win 10 20H2 - все корректно. Захват полный.
Что заметил на ноутбуке: несмотря на разрешение в full hd (1920\1080) координаты же стола при наведении курсором значительно меньше максимальные, примерно в 2 раза. С чем связано - не ясно.
« Last Edit: February 18, 2021, 12:19:26 PM by Алексей87 »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #79 on: February 18, 2021, 03:13:51 PM »
Не подтверждаю. На моем устройстве (ноутбук Dell) данная команда помещает в свой графический буфер скриншот НЕ всего экрана, а примерно 2\3 начиная с нулевых координат.
Можете пояснить данную ситуацию и дать рекомендации?
Очень странное поведение. На ноутбуке Win 10 Pro захватывается 2\3 как писал выше.

Примерно 5% (шутка, конечно меньше) всех вопросов на форуме и в группе ВК аналогичных твоему и везде дан ответ:
Масштаб рабочего стола должен быть 100%!

Вот прям в этом же разделе форума в шапке приклеена тема
Разрешение экрана. Смещение. Видит не весь экран.


Алексей87

  • Освоившийся
  • **
  • Posts: 32
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #80 on: February 18, 2021, 04:10:55 PM »
Не успел ознакомиться со всеми ветками! Прошу прощения, два дня работаю с ПО.
Теперь все стало ясно.
Такое ощущение что нужно начинать использование ПО с заголовка: возможные ограничения.
И список предостережений что может пойти не так.
Спасибо большое!

zalmanoff

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #81 on: March 26, 2021, 02:07:16 AM »
доброй ночи всем)
смотрю живой форум.
Проблема такая:
Есть область экрана на которой ищется фрагмент, находится...
Проблема в том что таких фрагментов может быть один, а может быть 10 или ни одного.
Если фрагментов нет, все понятно так же как если один.
А вот если их несколько, то находится первый начиная от верхнего левого угла и на этом дальше выход из поиска.
Вопрос как собрать координаты всех фрагментов в заданной области?
Пока только придумалось тупо обрезать область поиска по у и повторить поиск на уменьшенной части и так резать после каждого нахождения до тех пор пока область не станет меньше фрагмента.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #82 on: March 26, 2021, 10:10:41 PM »
SCANPICTURE


zalmanoff

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #83 on: March 27, 2021, 11:08:47 PM »
SCANPICTURE
СПАСИБО!!!! и простите.

Ivankak

  • Освоившийся
  • **
  • Posts: 37
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #84 on: September 11, 2021, 10:02:07 PM »
где-то есть полный список всех команд?
Очевидно, что в хелпе не все команды описаны.

kiril

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #85 on: September 12, 2021, 11:58:11 AM »
можете доказать столь очевидное вам утверждение?
 может вы просто невнимательно смотрите в справку, а так-же меню команд и шаблонов?

Ivankak

  • Освоившийся
  • **
  • Posts: 37
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #86 on: September 12, 2021, 06:38:13 PM »
Видимо, вы правы.
не могу найти
Есть ли в языке механизм, чтобы задавать свои процедуры и функции?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #87 on: September 13, 2021, 08:24:08 AM »
Свои функции задавать нельзя. Есть только механизм подпрограмм.
Да, не так удобно как с функциями и больше кода и не очень красивого кода может получаться, но использовать можно.
Кликер - использует специально упрощённый язык для новичков, поэтому автор не хотел вводить ещё и области видимости переменных, хоть позже частично это и пришлось сделать в двух случаях.


Aleksey999

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #88 on: January 12, 2022, 02:14:05 PM »
Здравствуйте господа, почитал ответы "гуру" в этой теме и понял что мне нужна помощь.
Скрипт ниже рабочий, действия простые но судя по всему сам скрип не самый оптимальный. Поделитесь опытом, как можно проще и эффективнее использовать функционал кликера?
Заранее благодарю за вашу помощь.

GETSCREEN
COLORMODE(6)
SCREENSHOTFIX(26,597, 367,1090, "herb.bmp")
IF_PIXEL_IN(26,597, 367,1090, 8355647)
   
   KEYDOWN(#ctrl)
   WAITMS(100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
   KEYUP(#ctrl)
   WAITMS(200)
   
END_IF

GETSCREEN
COLORMODE(6)
SCREENSHOTFIX(26,597, 367,1090, "herb1.bmp")
IF_PIXEL_IN(26,597, 367,1090, 8355839)
   KEYDOWN(#ctrl)
   WAITMS(100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
   KEYUP(#ctrl)
   WAITMS(200)
   
END_IF

GETSCREEN
COLORMODE(6)
SCREENSHOTFIX(26,597, 367,1090, "herb2.bmp")
IF_PIXEL_IN(26,597, 367,1090, 8388607)
   KEYDOWN(#ctrl)
   WAITMS(100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
   KEYUP(#ctrl)
   WAITMS(200)
   
END_IF

GETSCREEN
   IF_PIXEL_IN(61,382, 343,413, 269907)
   LCLICK($_return1, $_return2)
   WAITMS(500)
END_IF


HALT



dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: IF_PICTURE_IN - Для новичков
« Reply #89 on: January 12, 2022, 09:21:58 PM »
Если это весь скрипт, то пусть себе и работает. Единственное что можно оптимизировать, для ускорения работы, это оставить гетскрин и колормод вверху кода, остальные убрать, и добавить области снимка и коррекции.
Code: (clickermann) [Select]
GETSCREEN(26,597,367,1090)
COLORMODE(6, 26,597,367,1090)
SCREENSHOTFIX(26,597, 367,1090, "herb.bmp")
IF_PIXEL_IN(26,597, 367,1090, 8355647)   
   KEYDOWN(#ctrl)
   WAITMS(100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
   KEYUP(#ctrl)
   WAITMS(200)   
END_IF

SCREENSHOTFIX(26,597, 367,1090, "herb1.bmp")
IF_PIXEL_IN(26,597, 367,1090, 8355839)
   KEYDOWN(#ctrl)
   WAITMS(100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
   KEYUP(#ctrl)
   WAITMS(200) 
END_IF

SCREENSHOTFIX(26,597, 367,1090, "herb2.bmp")
IF_PIXEL_IN(26,597, 367,1090, 8388607)
   KEYDOWN(#ctrl)
   WAITMS(100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
   KEYUP(#ctrl)
   WAITMS(200)   
END_IF

GETSCREEN(61,382,343,413)
IF_PIXEL_IN(61,382, 343,413, 269907)
   LCLICK($_return1, $_return2)
   WAITMS(500)
END_IF


HALT

Если хочется сократить код, то можно добавить подпрограммы, справка - язык сценариев - основные конструкции - sub ... end_sub