Ubuntu
当我们在(使用Shift+Prt Scr或Ctrl+ Shift+ Prt Scr)上截取选定区域时,我们总是选择一个矩形区域。所以,我知道我可以在 Inkscape 之类的软件上编辑图像,用矩形图像创建一个圆圈,但我想知道是否可以更改配置以选择不同类型的形状(主要是圆圈) 直接在我截屏时。
可能吗?
Ubuntu
当我们在(使用Shift+Prt Scr或Ctrl+ Shift+ Prt Scr)上截取选定区域时,我们总是选择一个矩形区域。所以,我知道我可以在 Inkscape 之类的软件上编辑图像,用矩形图像创建一个圆圈,但我想知道是否可以更改配置以选择不同类型的形状(主要是圆圈) 直接在我截屏时。
可能吗?
我为圆形屏幕截图整理了一个小脚本,您需要以下软件包(尽管它也适用于其他屏幕截图程序和终端模拟器):
剧本
将其另存为 eg
~/circular_screenshot.bash
并使用chmod +x ~/circular_screenshot.bash
. 当您运行它时,脚本首先要求您将鼠标光标移动到中心位置并按下Enter,然后将其移动到边缘位置(不管哪个,脚本根据距离计算半径)并再次按下Enter。然后在截取屏幕截图时屏幕会闪烁(我建议使用scrot $temp_screenshot
它,它不会显示这种奇怪的行为。)并且 ImageMagick 的convert
1用于裁剪图像。输出以时间戳作为主目录中的文件名保存,您可以通过编辑output
脚本的变量来更改此行为。示例输出
在没有(或更好:使用不可见的)终端窗口的情况下调用
我想您不希望每次制作这样的屏幕截图时都有终端挡住您的屏幕,所以这里有一个解决方案;调用脚本如下(假设脚本保存为
~/circular_screenshot.bash
):这会在一个不可见的终端窗口中运行脚本(带有红色“X”和蓝色“T”的图标),您只需要确保在键入Enter. 您可以使用桌面环境的设置将此命令分配给键盘快捷键。
由于 ImageMagick 非常强大,您也可以调整此脚本以输出其他形状,我
ellipse
在 x 和 y 方向上使用相同的半径来绘制上面的圆 - 将其更改为例如$radius,$(bc <<<"$radius*0.5")
得到一个偏心率大于 0 的椭圆。1:我从imagemagick.org 上的这个线程中采用了方法。
我在这里发现了一些关于截图的东西。当我们在 Ubuntu(我的是 16.04)上截屏时,我们实际上使用的是一个名为
gnome-screenshot
. 它是一个用 C 语言编写的开源软件,我们可以在 GitHub 上的这个链接中找到它的源代码:好吧,那里有一个文件
screenshot-area-selection.c
可以回答我的问题。这是一个包含 361 行代码的文件,所以我不打算在这里粘贴它。但据我对这个文件的了解(不多),它使用了许多围绕构建矩形而构建的函数......就像在这段代码中一样:所以,我的结论是,不可能更改任何配置来截屏,
gnome-screenshot
因为它的代码不是为此而设计的……虽然可以下载代码,自己更改代码,重新编译,然后使用我自己的个性化版本的gnome-screenshot
。使用已接受答案的相同想法,我创建了另一个脚本来截取六角形屏幕截图,我在这里分享它以防它对其他人有用。
示例输出
剧本
该过程与接受的答案完全相同。在这种情况下,我只是更改了脚本名称:
“将其另存为 eg
~/hexagonal_screenshot.bash
并使用chmod +x ~/hexagonal_screenshot.bash
.脚本根据距离计算半径)并再次按 Enter。然后屏幕在截屏时闪烁(我建议使用scrot $temp_screenshot
它,它不会显示这种奇怪的行为。)并且 ImageMagickconvert
用于裁剪图像。输出为以时间戳作为文件名保存在您的主目录中,您可以通过编辑output
脚本的变量来更改此行为。”附加信息
如果有人对所涉及的数学感到好奇,这就是我的做法。使用该过程创建具有不同边数或不同形状的多边形
Imagemagick
将是相同的:进行数学运算并在这部分代码中添加或删除点"polygon $P1_x,$P1_y $P2_x,$P2_y $P3_x,$P3_y $P4_x,$P4_y $P5_x,$P5_y $P6_x,$P6_y"
。