Author Topic: Отслеживание цвета  (Read 1523 times)

0 Members and 1 Guest are viewing this topic.

Space

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Отслеживание цвета
« on: April 21, 2019, 11:07:39 AM »
Здравствуйте! С праздником всех православных!
Если будет свободное время - растолкуйте.

1) PXL не может работать отдельно без применения GETSCREEN?

2) Для GETSCREEN возможно задать координаты только так (1179,166, 1179,222) по X,Y- верх, X,Y- низ, или возможен и такой вариант (1179,166) X,Y- в 1 пиксель.
Хотя известно, что GETSCREEN работает и без координат, но для облегчения - оптимизации работы в целом, нужно понять как уменьшить объем работ для процессора.

3) Даны координаты двух разных пикселей с любым цветом. Цель - при изменении цвета в любой из заданных координат выдать разрешение выполнения дальнейшей программы. Программа выполнилась, сново циклично проверять изменение цвета и при изменении сново выполнить основную программу.
После долгого разгребания каши в голове, мне удалось выполнить задачу, за исключением некоторых вопросов - все отлично работает.
Второй скрипт это неудачная попытка оптимизировать.

4) Какой нибудь легкий браузер не посоветуете, имею всего 2 гб озу и не быстрый процессор.  Этот Firefox портабл обновился и процессор грузит со своими примочками (а, если их три - все начинает подвисать), да и опера портабл чуть меньше. Для Windows 7?
Было-б хорошо чтобы Clickermann имел свой встроенный и легкий браузер :)
Code: (clickermann) [Select]
// Работает

GETSCREEN (1179,166, 1179,222)
$clrV1 = PXL(1179,166)  // Возвращает код цвета для заданного пикселя.
$clrN1 = PXL(1179,222)
print($clrV1,"ВЕРХ"$clrN1," НИЗ") // для проверки работы
 WAITMS(20)
 DEFINE($clrV2, $clrV1) //
 DEFINE($clrN2, $clrN1) //
IF($clrV1 =  $clrV2)
   ELSE 
   SOUND("Hardware.wav") // для контроля работы
   $clrV2 =  $clrV1
END_IF
 WAITMS(100)
IF($clrN1 =  $clrN2)
   ELSE 
   SOUND("Hardware.wav") //
   $clrN2 =  $clrN1
END_IF
 WAITMS(100)

================================================

 // Неудачная попытка оптимизировать

GETSCREEN (1179,166, 1179,222)
$clrV1 = PXL(1179,166)  // Возвращает код цвета для заданного пикселя.
$clrN1 = PXL(1179,222)  //
print($clrV1,"ВЕРХ"$clrN1," НИЗ") // для проверки работы
 WAITMS(20)
 DEFINE($clrV2, $clrV1) //
 DEFINE($clrN2, $clrN1) //
IF($clrV1 =  $clrV2)&($clrN1 =  $clrN2)
   ELSE 
   SOUND("Hardware.wav") // для контроля работы
   $clrV2 =  $clrV1
   $clrN2 =  $clrN1
END_IF
 WAITMS(100)
« Last Edit: April 21, 2019, 11:16:47 AM by Space »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Отслеживание цвета
« Reply #1 on: April 21, 2019, 12:07:33 PM »
1. PXL анализирует снимок находящийся в буфере кликера. Чтоб он там появился нужно прежде его сделать с помощью GETSCREEN

2. Синтаксис описан в справке.
Снимок одного пиксела.
Code: (clickermann) [Select]
GETSCREEN(1179,166, 1179,166)
3.
Code: (clickermann) [Select]
GETSCREEN (1179,166, 1179,222)
$clrV1 = PXL(1179,166)  // Возвращает код цвета для заданного пикселя.
$clrN1 = PXL(1179,222)
WHILE(($clrV1 = PXL(1179,166))&($clrN1 = PXL(1179,222)))
   WAITMS(50)
   GETSCREEN (1179,166, 1179,222)
END_CYC

// дальше основная программа

4. В Firefoxе легко заблокировать обновления.

Space

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Отслеживание цвета
« Reply #2 on: April 21, 2019, 01:46:24 PM »
За пояснения и оптимизацию - БЛАГОДАРЮ. В Firefoxе обновления блокировал, но раздражало постоянное выскакивающие предложение обновить. Это мешает если сильно уменьшить окно браузера. Поэтому обновился, но откатится могу назад старая версия сохранилась.

"точно, а ещё встроенную автоматическую коробку скоростей на голосовом управлении и питании от солнечных батарей, через USB."

Сарказм понятен - это как целый набор ардуино   ;D
« Last Edit: April 21, 2019, 01:58:08 PM by Space »