Author Topic: Скриншот  (Read 1694 times)

0 Members and 1 Guest are viewing this topic.

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Скриншот
« on: June 13, 2017, 08:37:13 AM »
Помогите нужно что бы фоткал окно в определенный момент.
Code: (clickermann) [Select]
$time2 = $_time_t + 10
WHILE($time2 > $_time_t)
   GETSCREEN(2,36, 969,580)
   COLORMODE(6, 2,36, 969,580)
   IF_PICTURE_IN (2,36, 969,580, "texture\Okno.bmp", 52275, 90)
// После того как найдет это окно, нужно сделать скришот и продолжить скрипт. Сохранить нужно в отдельную папку, папка лежит со скриптом "Отдельная папка"
      INC($var,1)
      LOGWRITE("выполнено - ",$var)
      $time2 = 0
      KEYUP(#c)
      KEYUP(#x)
      WAITMS(100)
      LCLICK($_return1+315, $_return2+63)
      WAITMS(RND(170,200))
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time2 ! 0)
   KEYUP(#c)
   KEYUP(#x)
END_IF
« Last Edit: June 13, 2017, 08:56:33 AM by Ramzesia »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Скриншот
« Reply #1 on: June 13, 2017, 10:05:25 AM »
Функция SCREENSHOTFIX позволяет сохранять файл в конкретную папку с конкретным именем. Однако "Отдельная папка" должна уже существовать иначе будет ошибка. Эта папка должна лежать рядом со скриптом.
В качестве имени используется текущая дата и время.

Code: (clickermann) [Select]
SCREENSHOTFIX(0,0, $_xmax,$_ymax, STRCONCAT("Отдельная папка\", $_date_y,$_date_m,$_date_d,"_",$_time_h,$_time_m,$_time_s,".bmp"), 0)
Но чтобы было "красиво", то есть писалось не 1 а 01 то нужно написать подпрограмму

Пример
Code: (clickermann) [Select]
SUB(SHOT, $sk_x1,$sk_y1,$sk_x2,$sk_y2,$folder) // подпрограмма в начале скрипта
   $th = $_time_h
   $tm = $_time_m
   $ts = $_time_s
   $dd = $_date_d
   $dm = $_date_m
   IF(STRLEN($th)<2)
      $th = STRCONCAT ("0", $th)
   END_IF
   IF(STRLEN($tm)<2)
      $tm = STRCONCAT ("0", $tm)
   END_IF
   IF(STRLEN($ts)<2)
      $ts = STRCONCAT ("0", $ts)
   END_IF
   IF(STRLEN($dd)<2)
      $dd = STRCONCAT ("0", $dd)
   END_IF
   IF(STRLEN($dm)<2)
      $dm = STRCONCAT ("0", $dm)
   END_IF
   SCREENSHOTFIX($sk_x1,$sk_y1,$sk_x2,$sk_y2, STRCONCAT($folder,"\", $_date_y,$dm,$dd,"_",$th,$tm,$ts,".bmp"), 0) 
END_SUB 


// вызов пишем там где нужно сделать снимок
GETSCREEN
SHOT(0,0, $_xmax,$_ymax, "Отдельная папка")
HALT
« Last Edit: June 13, 2017, 10:06:58 AM by Oraven »

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Скриншот
« Reply #2 on: June 13, 2017, 02:06:53 PM »
Функция SCREENSHOTFIX
Все гуд работает спасибо)
« Last Edit: June 13, 2017, 11:05:36 PM by Ramzesia »