有道的截图翻译还蛮好用的,就是点来点去有点费手。比如某种懂得都懂的那种固定文字显示位置的软件,每次都要固定在同一个位置截图,那也太麻烦了。
当然直接上各种专业的vnr类软件可以当场秒杀固定区域翻译的问题,不过有道还是可以进行轻量级的应急的。
所以为了让有道的截图翻译更人性化,可以把一些重复的操作直接用python自动化。
比如这里就使用键盘的s键触发有道翻译的快捷键,然后自动让鼠标移动到固定的两个坐标,完成截图区域的框选。
按esc可以迅速返回原软件位置。
不过截屏软件特有的屏幕灰化很影响观感,所以这果然是个没什么用的东东。
import pyautogui
import keyboard
# 定义点击坐标和快捷键
# start_pos = (291, 840) # 要点击的起始坐标
start_pos = (4, 4) # 要点击的起始坐标
end_pos = (1723, 1014) # 要点击的终止坐标
hotkey_s = 's' # 定义触发快捷键 S
hotkey_esc = 'esc' # 定义触发快捷键 esc
# 定义按下快捷键 S 时的回调函数
def on_hotkey_event():
# 模拟按下有道翻译快捷键。我自己设置的快捷键是alt+s
pyautogui.hotkey('alt', 's')
# 点击起始坐标
pyautogui.moveTo(start_pos[0], start_pos[1], duration=0.1)
pyautogui.mouseDown(button='left')
# 移动到终止坐标
pyautogui.moveTo(end_pos[0], end_pos[1], duration=0.1)
pyautogui.mouseUp(button='left')
# 定义按下快捷键 esc 时的回调函数
def on_esc_event():
# 将鼠标移动到屏幕中心并点击
screen_width, screen_height = pyautogui.size()
# center_pos = (screen_width // 2, screen_height // 2)
center_pos = (980, 15)
pyautogui.moveTo(center_pos[0], center_pos[1], duration=0.1)
pyautogui.mouseDown(button='left')
pyautogui.mouseUp(button='left')
# 注册触发快捷键 S 和 esc
keyboard.add_hotkey(hotkey_s, on_hotkey_event)
keyboard.add_hotkey(hotkey_esc, on_esc_event)
# 消息循环 , 等待退出
keyboard.wait()