【发布时间】:2011-03-20 02:38:27
【问题描述】:
我想创建一个网页看起来像的图像, 例如创建 html + 图像的小缩略图。 它不必是完美的(例如 flash /javascript 渲染)。
我将调用在 linux 上使用代码,理想情况下是一些 java 库,但命令行工具也很酷。
有什么想法吗?
【问题讨论】:
标签: linux thumbnails webpage
我想创建一个网页看起来像的图像, 例如创建 html + 图像的小缩略图。 它不必是完美的(例如 flash /javascript 渲染)。
我将调用在 linux 上使用代码,理想情况下是一些 java 库,但命令行工具也很酷。
有什么想法吗?
【问题讨论】:
标签: linux thumbnails webpage
试试CutyCapt,一个命令行实用程序。它使用 Webkit 以各种格式(SVG、PNG 等)进行渲染和输出。
【讨论】:
【讨论】:
要使用 ImageMagick 在终端中截取屏幕截图,请在终端中键入以下行,然后在屏幕的某个部分上单击并拖动鼠标:
import MyScreenshot.png
要捕获整个屏幕并在延迟后调整大小,请使用以下命令:
import -window root -resize 400×300 -delay 200 screenshot.png
您可以混合使用 xwininfo 和 import 来检索浏览器的窗口 id 并对该窗口进行截图。一个自动化这个过程的 bash 脚本是这样的:
#!/bin/bash
window_id=`xwininfo -tree -root | grep Mozilla | awk '{print $1}'`
import -window $window_id -resize 100x100 tumb.png
此脚本将在当前目录下创建一个 100x100 的 Firefox 屏幕截图,名称为 tumb.png
几个来源展示了如何从 Java 应用程序中运行 bash 脚本,谷歌可以帮助你。如果您赶时间,请查看this 和this。
【讨论】:
如果你对 Java 感兴趣,也许你可以看看使用 Selenium-RC http://seleniumhq.com 的浏览器自动化
这是一个可以安装在盒子上的小型 Java 服务器,程序本身将在 Web 浏览器中执行远程命令。
像这样的步骤(顺便说一下,这是伪代码,我用 php 编写 Selenium 代码,但我无法回忆起 100% 的细节)
selenium.location("http://foo.com")
selenium.open("/folder/sub/bar.html")
selenium.captureScreenshot("/tmp/" + this.getClass().getName() + "."
+ testMethodName + ".png");
实际上,我只是对最后一个的确切语法进行了快速的网络搜索......而且这个人有一个博客,其中包含可能在 java 中实际工作的代码 :) https://dev.youdevise.com/YDBlog/index.php?title=capture_screenshots_of_selenium_browser_&more=1&c=1&tb=1&pb=1
还有许多网站提供“跨浏览器和操作系统”这项服务,我只是不记得它们是什么了。基本上,他们拥有每个操作系统和浏览器组合的云,他们使用每台机器登录,截取屏幕并将其存储在他们的网站上,供您在完成后几个小时内返回。
啊...另一个网络搜索,它是你的 :) http://browsershots.org/
【讨论】:
看完这个页面后,我在想,让我启动 midori 浏览器:http://midori-browser.org/,当我尝试 -h 选项时,我看到了:
-s, --snapshot Take a snapshot of the specified URI
QutyCapt 很难编译,并且有很多依赖项。 Midori的数量更少。它将网站的 PNG 输出到 TMP 文件夹中。可以通过以下方式获取文件:
midori -s http://www.rcdwealth.com new.png 2>/dev/null | awk '{ print $4}'
之后,可以使用 ImageMagick 的转换程序将文件转换为缩略图大小。
【讨论】: