每秒在屏幕上拍摄一个特定区域的屏幕截图

时间:2011-11-22 08:19:25

标签: linux image bash ubuntu

我希望能够每秒对屏幕上的特定区域进行一次屏幕截图,并使用命令行和程序将文件命名为MMDDYYYYHH:MM:ss。我在考虑使用像这样的脚本

for((i=0;i<1000;i++))
do
import -window root screenshot-$(date '+%d%b%y-%N').png
sleep 5m
done

但我不知道访问程序以更改屏幕区域的命令,并在保存到文件时限制图像质量。 PS:我愿意使用不同的程序,如果它能工作的话。我正在使用Linux Ubuntu 10.04 64bit。

由于

3 个答案:

答案 0 :(得分:8)

您可以对-crop WxH+X+Y命令使用import选项指定屏幕区域。 -quality选项用于输出的质量/压缩级别。像这样:

import -window root -crop 200x300+100+15 -quality 100 $(date +%Y%m%d-%H%M%S).png

请注意-quality.png格式的.jpg选项具有几乎相反的含义:png的值10表示'较小压缩'(较大尺寸)而值100表示​​最大值压缩'(最小尺寸)。另一方面,jpg的值为10表示“质量较差”(较小的尺寸),而值100表示​​“最高质量”(最大尺寸)。

答案 1 :(得分:2)

以下是我使用的内容,以防万一它可以帮助下一个人。 我使用了Shutter(screengrab程序)并选择了Selection选项以获得正确的坐标并将它们放在下面的脚本中。

#!/bin/bash
for((i=1;i<10;i++))
do
    import -window root -crop 454x394+69+269 -quality 200 $(date +%m%d%Y-%H%M%S).png
    echo $i
    #type this in a terminal to run     ./timed.sh
sleep 1
done 

答案 2 :(得分:0)

您是否尝试使用Linux替代方案进行屏幕截图?

这些是:ShutterScreenGrabFireShot ...