SikuliX에 의한 스크린 샷 (고행)의 효율화에 대해
목적
SikuliX1.1.4에서는 스크린을 감시해 변경이 생기면 스크린 캡쳐를 취하는 것이 용이하게 가능하다.
이것에 의해, 스크린 캡쳐의 고행의 노력을 줄일 수 있는지를 검토한다.
Sikulix 1.1.4에 대해서는 아래 참조
htps : // 이 m / 미마 _ 있거나 / ms / 8f653042 아 c9140 에 5023f
코드
from datetime import datetime
import threading
import time
import sys
# 保存先のフォルダ
captureFolder = "C:\\tool\\sikulix\\log\\"
# 50ピクセル変更したらchangedを呼び出す。ここで調整する
changePixel = 50
threadWaitStopFunc = None
stopFlg = False
# 停止用のスレッド
def waitStopFunc():
global stopFlg
popup(u"キャプチャを停止する場合は [OK]を押下してください")
stopFlg = True
# 範囲内の変更発生時のイベント
def changed(event):
global stopFlg
global threadWaitStopFunc
print ('changed' + datetime.now().strftime('%Y%m%d_%H%M%S%f')[:-3])
try:
capture(selRegion, captureFolder, datetime.now().strftime('%Y%m%d_%H%M%S%f')[:-3])
except:
print(sys.exc_info())
stopFlg = True
# 範囲選択が表示されてRegionを選択する
selRegion = selectRegion(u"select caputure region.")
if selRegion is None:
exit(1)
selRegion.onChange(changePixel, changed)
# 監視 alt-shift-c
selRegion.observeInBackground(FOREVER);
threadWaitStopFunc = threading.Thread(target=waitStopFunc)
threadWaitStopFunc.start()
while True:
if stopFlg:
break
wait(1)
popup(u'キャプチャが停止しました')
selRegion.stopObserver()
※화상 파일의 작성에 실패했을 경우는 「캡쳐가 정지했습니다」라고 하는 윈도우가 표시되므로, 그 경우는 보존 폴더를 재검토한다.
사용해보기
감시를 종료하고 싶으면 OK를 실행하여 처리를 정지한다.
이번에는 명령 프롬프트에서 다음 작업을 수행했습니다.
· dir 명령 실행
· 속성 표시
사용감
・한글자씩의 키 누르기나, 윈도우가 표시되는 과정의 반투명의 것도 캡쳐 되어 버린다
・그렇지만, 한 장 한 장 마음을 담아 스크린샷을 찍는 고행보다는 낫습니다.
(나중에 솎아낼까, 큰 양이 아니면 그대로 납품으로 좋을 것)
・같은 것은 동영상으로도 할 수 있다.
단지, 화상으로 보존하는 어드밴티지로서는 말풍선의 편집의 용이성.
감동적인 툴이지만, 무의미하다. ※
※SikuliX1.1.4는 64bit의 Java가 필요하므로, 이런 것이 정말로 필요한 직장은 어차피, 32비트 머신 밖에 지급되고 있기 때문에 사용할 수 없다. 어쩔 수 없어.
Reference
이 문제에 관하여(SikuliX에 의한 스크린 샷 (고행)의 효율화에 대해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mima_ita/items/3801b0a7e4bfde34a6fa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)