码龄4年
关注
关于截图的工具的一个使用,我们在Windows中操作也算是非常的熟练的,也许你会经常使用到的工具是QQ截图,又或者是第三方的一些截图软件进行截图,一般在我们的键盘上都有一个printscreensysrq就可以截取屏幕,让后再用工具打开也就可以了,那么在Linux系统环境中我们是可以利用命令来执行操作截图的,在此,笔者使用的是CentOS系统为大家进行演示一下。
在linux环境中我们也是可以系统自带的一个命令来操作执行,那就是gnome-screenshot,使用该命令可以进行截图。
刚开始学习的用户如果是不懂的如何使用,则可以使用man命令来进行查询相应的介绍,在命令端输入mangnome-screenshot就可以查询了。
f9d7f29d81609b4a276928c73105943e.png
在图中我们可以查看一下命令中的一些基本用法.
基本的一些选项
-w抓取当前活动窗口
-a抓取自定义的区域
-b包含窗口的边框
-B去除边框
-dN等待N秒后截图
-e一些附加的效果(shadow,border,none)
-i交互式的运行
271f9077c474e5c71455e3a201bdb496.png
常用的组合命令:
gnome-screeshot就是默认的语句没有附加选项就是截取全屏.使用的最多的就是这个命令了。
gnome-screenshot-wb截取当前活动窗口(有边框)
gnome-screenshot-a截取自定义区域
gnome-screenshot-wBeshadow-d55秒后截取当前窗口去除边框,附加阴影效果
小结:从文章中的实际案例中我们发现,linux中截图使用最多的还是命令操作,可以看出,这些命令也是上面的一些基本选项组合起来的,在实际中,如果是熟悉操作的话,将会对工作学习起到非常便捷的一个作用。
在公司开发中,遇到测试反馈的问题,在用户签约生成图片转发的时候,图片样式戳,截图不全,展示效果如下:
于是采用解决方案2,修复了此问题。
在点击保存图片时,此时要保存的资源较多,造成模块并没有完全加载完毕,就已经生成了截图。
解决方案:(延迟)
滚轮滑动造成的,主要是html2canvas是根据body进行截图,若内容高度高于body时,就会出现这样的问题
解决方案:(在生成截图前,先把滚动条置顶)
首先请关注 官方更新 。——————————————————————————————————————
html2canvas 这个东西的作用是,可以在页面里截图,无论是整张页面,乃至单个的div,都可以依照原本的画风生成canvas,然后我们使用toDataURL这个方法就可以生成这个页面或者div的图片了。
作者上次更新就在今年,但并没有关注到一个问题:使用这样的方法生成的canvas,画质是否清晰?我们知道设备的 devicePixelRatio决定了canvas的清晰度 , 文中解决这个问题的核心方法是放大canvas然后缩小显示到原比例。于是我在html2canvas.js中做了如下改动:
我只是将待画元素的宽度与高度都乘以2。然后这个设定对所有子元素都递归有效了。于是我们得到了一个所有待画元素都放大一倍的canvas。
接下来肯定是要把canvas也放大才行。
然后很山寨的就把我的问题解决了。
但也带来了后续的问题:
感谢 焰尾迭 的 文章 启发了我。