编程获取网页截图

标签: 编程 网页 截图 | 发表时间:2013-05-23 15:45 | 作者:winpub
出处:http://blog.sina.com.cn/winpub
想要通过程序获取网页截图,由于是Linux系统,可能的解决方法是选择Gecko或者WebKit渲染引擎。Gecko的开放程度不如WebKit,相关项目和文档少,因此选择了WebKit。Gtk和Qt都有对WebKit的集成,但Gtk的依赖包太多,依赖包之间的版本匹配很重要,由于不做浏览器开发,几经尝试后放弃。Qt的代码很整洁,依赖关系少,能在CentOS 6的开发环境顺利编译通过(如果想尝尝C++11而搞了个gcc 4.8编译环境,编译Qt还有个小问题,网上有patch),这里简要介绍下:

1 获取Qt源码,切换到源码目录,基于4.8版本创建自己的git分支:

git clone git://gitorious.org/qt/qt.git
cd qt
git branch myqt origin/4.8
git checkout myqt

2 配置源码,启用4线程编译,编译后安装

./configure --prefix=/path/to/your/installation
make -j 4
make install

这个过程很长很长,可以喝杯咖啡或者刷刷微博。

截取网页的程序Qt有范例,参考

http://doc.qt.digia.com/4.7/webkit-framecapture.html

示范程序无法自动调整页面大小,调整算法可参考wkhtml2pdf项目

http://code.google.com/p/wkhtmltopdf/

程序完成后总觉得字体渲染太丑,可考虑安装ms windows字体。新建字体目录:

mkdir -p /usr/share/fonts/zh_CN/TrueType/

把字体文件拷贝到该目录,然后使字体文件生效:

cd /usr/share/fonts/zh_CN/TrueType/
mkfontscale
mkfontdir
fc-cache -f -v

由于是后台程序,没有DISPLAY输出,最初尝试了 xvfb-run,效果不好,只好启用桌面环境,需要设置一下权限:

sudo su -
export DISPLAY=:0.0
xhost +si:localuser:leo

:0.0是显示编号,leo是授予权限的系统帐号。

这样就可以在后台生成页面截图了,效果如附图,还算满意。 :)






  青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟!!   你不得不信的星座秘密

相关 [编程 网页 截图] 推荐:

编程获取网页截图

- - 冬天里的酒吧
想要通过程序获取网页截图,由于是Linux系统,可能的解决方法是选择Gecko或者WebKit渲染引擎. Gecko的开放程度不如WebKit,相关项目和文档少,因此选择了WebKit. Gtk和Qt都有对WebKit的集成,但Gtk的依赖包太多,依赖包之间的版本匹配很重要,由于不做浏览器开发,几经尝试后放弃.

Site2Pic – 在线网页截图 | 小众软件 > 在线应用

- KiVEN - 小众软件
Site2Pic 在线网页截图,并生成地址供分享. 虽然这个服务让网页上的汉字都变了口,对于聪明人来说,还是偶有妙用. 访问:Site2Pic | 来自小众软件. ©2011 Thruth for 小众软件 | 原文链接 | 1 留言 | 加入我们 | 投稿 | 订阅指南. JPEGmini – 图像在线减肥.

100张精美网页截图分享(1)

- kent.zhu - Prower - 记录成长过程
不知不觉中,Reeoo.com里收录的网页截图竟然已经有一千三百多张了,追溯到第一张截图发布的日期是在2009.11.28,一转眼已经快满两年了. 这个博客最初的定位就是我用来收集自己平时看到的精美网站的,我很固执的使用WordPress来搭建并且手动一张一张的从网站上截图下来再通过PS处理大小然后上传到博客上,而非使用书签类的网站直接收集.

屏幕截图在网页设计中应用的30个优秀案例

- Pei - 博客园-首页原创精华区
  屏幕截图通常用在个人作品集网站、模板和主题网站以及在线商店. 在许多情况下,屏幕截图作为设计的主体,有助于吸引更多的访客,它可能是单一的截图,也可能是由几张图组合成的带立体效果的组合. 今天这篇文章向大家推荐30个这种设计的优秀案例,一起欣赏. 寻找网页设计灵感的27个最佳网站推荐. 最新30个漂亮的个人作品集网页设计案例.

Google 正式发布适合打造网页应用的 Dart 编程语言

- Kidwind - 谷奥——探寻谷歌的奥秘
在等待了将近一个月之后,Google正式正式发布了Dart语言,帮助你打造网页应用. 这个新的平台可适合开发简单、高效而具有可扩展的网页应用,整合了强大的全新的编程特色,但却同时具备你熟悉的语言语法结构. Google称这个新的语言将协助开发者打造出结构化的灵活网页程序,同时Dart又让程序员感到很熟悉而自然,简单易学.

用JavaScript截图

- - 四火的唠叨
文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》. 使用JavaScript截图,这里我要推荐两款开源组件:一个是 Canvas2Image,它可以将Canvas绘图编程PNG/JPEG/BMP的图像;但是光有它还不够,我们需要给任意DOM(至少是绝大部分)截图,这就需要 html2canvas,它可以将DOM对象转换成一个canvas对象.

Google TV 2.0 截图出现

- Yiding - cnBeta.COM
Google正在尝试将其Google TV工程变得更为贴近主流,和索尼、罗技的合作遭到市场不温不火的反应后,Google准备推出改进后的2.0版,今天这一版本的电视系统被一家国外网站泄露了出来. 它基于Android 3.1版开发,因此有了更为绚丽的外表,新的Google TV已经可以从网络上下载到一些有用的面向电视的应用,并且还可以对应用进行评分等操作,以下是截图:.

《美国队长》截图

- Luosky - Initiative
啥都不说,就当没看见左下角.

Hadoop Streaming 编程

- - 学着站在巨人的肩膀上
Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如:. 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer). 本文安排如下,第二节介绍Hadoop Streaming的原理,第三节介绍Hadoop Streaming的使用方法,第四节介绍Hadoop Streaming的程序编写方法,在这一节中,用C++、C、shell脚本 和python实现了WordCount作业,第五节总结了常见的问题.

Shell编程

- - 博客园_首页
本来打算寒假回家好好学习Linux的,为以后学习嵌入式打好基础的. 回家之后的学习效率非常低,之前为了搭建Linux环境,折腾了很长时间,学到现在也就勉强才把Shell编程学完了. 今天就把自己学习的相关知识点总结整理一下. 个人感觉shell程序跟windows下的批处理文件有点像,就是将一些系统命令写进一个可执行文件中,然后执行.