![从 gnome-screenshot 命令行,如何预定义区域?](https://linux22.com/image/859217/%E4%BB%8E%20gnome-screenshot%20%E5%91%BD%E4%BB%A4%E8%A1%8C%EF%BC%8C%E5%A6%82%E4%BD%95%E9%A2%84%E5%AE%9A%E4%B9%89%E5%8C%BA%E5%9F%9F%EF%BC%9F.png)
因此 gnome-screenshot 有以下选项:
tim@Hairy14:~$ gnome-screenshot --help
Usage:
gnome-screenshot [OPTION…] Take a picture of the screen
Help Options:
-h, --help Show help options
--help-all Show all help options
--help-gtk Show GTK+ Options
Application Options:
-c, --clipboard Send the grab directly to the clipboard
-w, --window Grab a window instead of the entire screen
-a, --area Grab an area of the screen instead of the entire screen
-b, --include-border Include the window border with the screenshot
-B, --remove-border Remove the window border from the screenshot
-p, --include-pointer Include the pointer with the screenshot
-d, --delay=seconds Take screenshot after specified delay [in seconds]
-e, --border-effect=effect Effect to add to the border (shadow, border, vintage or none)
-i, --interactive Interactively set options
-f, --file=filename Save screenshot directly to this file
--version Print version information and exit
--display=DISPLAY X display to use
我感兴趣的是-a
。
如果它运行,就会发生以下情况,我可以单击并拖动屏幕上的任意位置,它会保存我选择的图像。
我已经为此设置了快捷方式++ Alt。Shift4
但我想要的是一个预定义的区域,类似于这样的:
gnome-screenshot -a 400x500+100x100
(即向下 400、向内 500 和 100x100 区域)。
这可能吗?有命令可以做到这一点吗?
convert -crop
注意:我可以像这样使用图像裁剪工具:
convert -crop 100x100+50+50 Pictures/Screenshot.png Pictures/Screenshot-cropped.png
但如果它是内置的,我会喜欢它,因为裁剪整个打印屏幕会使它变得模糊......
答案1
看起来没有这样的选项,但是您可以使用从命令行控制鼠标xdotool
,因此您可以尝试使用它:
(gnome-screenshot -a &); sleep 0.1 && xdotool mousemove 100 100 mousedown 1 mousemove 500 500 mouseup 1
我使用(cmd &)
语法让命令在后台运行(这里只使用 && 是行不通的,因为gnome-screenshot
要等待输入)并进行短暂延迟(尝试使用 sleep 值)以确保鼠标在准备好之前不会移动。然后我使用mousemove x y
、mousedown 1
和mouseup 1
命令来模拟抓取区域。
你还应该查看更适合获取屏幕截图的工具,该工具import
来自图像魔术师:
import -window root ~/Pictures/img.png -crop 100x100+1100+1100