使用phantomjs,您可以选择用于page.render()
的文件格式。
我发现我为png获取的文件大小比我为gif获得的大三倍。我不知道png应该比gif更差(在文件大小方面);事实上,我认为png意味着更好。
不幸的是,我有点需要输出到png,因为它支持变量不透明度,但更大的文件大小是一个问题。
那么,有什么方法可以控制png的文件大小?也许改变编码方案或什么?我目前正在使用phantomjs 1.9.8。
答案 0 :(得分:2)
没有,没有办法让png文件变小,但有办法让它更大(只是为了好玩):
PhantomJS 1.x有一个错误导致文件大量膨胀但有效。
只有jpeg渲染才能指定质量设置,这将导致较小的文件大小,但jpeg再次不支持透明度。
你还可以看到PhantomJS 2.0.0是否表现得更好,因为它下面有一个引擎,它比PhantomJS 1.x中的引擎快了近三年。
您最好的选择是按原样渲染PhantomJS中的png并使用您喜欢的库对其进行后处理。甚至可以打开它并再次保存它。
例如,您可以使用子流程模块调用已安装的程序,也可以打开包含此类服务的网页,并上传捕获的文件或base64表示形式。可能性是无穷无尽的。