使用PHP 给网站 生成快照图片和缩略图
使用PHP给网站生成快照图片和缩略图
因为做网站综合信息查询需要用到这个
搜索了一下国外的的解决方案
大部分是使用对方API来实现的
但是这种方式不太好
1是会被对方加上水印,缩略图被加水印不太好
2免费提供的有生成限制,收费的太贵了一般$1=可以生成10个缩略图
像我这种要生成大约9千万以上缩略图的感觉不太靠谱费用太贵而且缩略图都被人家水印了
最后决定还是使用第三方的开源软件自建
这样网站快照生成后可以自动上传到又拍云里调用速度快
暂时测试的这个方案无问题
http://code.google.com/p/wkhtmltopdf/downloads/list
32位的下载
wkhtmltoimage-0.11.0_rc1LinuxStaticBinary(i368)
64位的下载
wkhtmltoimage-0.11.0_rc1LinuxStaticBinary(AMD64)
这个是已编译的静态可执行文件比较简单和方便
解压
tar-xvf***.tar.bz2
移动下目录然后直接PHP调用
比如/sbin/wkhtmltoimage
先测试/sbin/wkhtmltoimagegoogle.comg.jpg
建议将清晰度设置的低点
我测试了如果不调的话
Google的页面生成了PNG大小是1M多JPG是400多K
PHP里直接exec就可以调用生成然后做图片处理
然后在使用php的gd或者im
php使用GD或者IM的图片处理模块处理就可以了
可以加缩略图的水印等等
还在测试其他的开源方案
可以提供REST接口的
到时候在更新
-------------------------------------
国外有很多网站,会提供的URL地址的预览功能,鼠标移到URL地址上,就自动显示网站的缩略图。
我看用wkhtmltopdf来实现正合适,而且提供了Windows、Linux和Mac平台上的版本。
该工具的详细参数如下:
GeneralOptions:
--crop-h<int>Setheightforcroping
--crop-w<int>Setwidthforcroping
--crop-x<int>Setxcoordinateforcroping
--crop-y<int>Setycoordinateforcroping
-H,--extended-helpDisplaymoreextensivehelp,detailinglesscommoncommandswitches
-f,--format<format>Outputfileformat(defaultisjpg)
-h,--helpDisplayhelp
--quality<int>Outputimagequality(between0and100)(default94)
-V,--versionOutputversioninformationanexit
--width<int>Setscreenwidth(defaultis1024)(default1024)
---------------------------
tar下载地址:
http://code.google.com/p/wkhtmltopdf/downloads/list
相关链接
http://blog.cnlabs.net/?p=2625
http://blog.cnlabs.net/?p=2636
http://brooky.cc/2011/05/26/convert-html-to-image-and-pdf/
http://www.oschina.net/question/12_10653