从HTML创建base64字符串
Create base64 string from HTML
我需要从HTML页面中的特定div进行屏幕截图。我试着使用这个图书馆http://html2canvas.hertzen.com/
html2canvas($(".element"), {
onrendered: function(canvas) {
console.log(canvas.toDataURL('image/jpeg'));
}
});
但它在一些CSS内容(例如文本阴影)方面存在问题,有些文本看起来不太好。而且画面看起来有点模糊。
还有其他解决方案吗?
我的DIV包含背景图片和上面的文字。我曾考虑使用PHP GD库打开背景图像并在其上定位文本,但又出现了文本阴影,我不知道该怎么做
产生文本阴影的CSS是这样的:
text-shadow: 0px 1px 0px rgba(0,0,0,0.2);
HTML5 Canvas支持文本阴影http://www.html5rocks.com/en/tutorials/canvas/texteffects/
你使用的库可能只是不正确地支持它,或者它没有搜索CSS。
如果您共享DIV标记和CSS,那么可能会找到一个硬编码(特定)的解决方案。
另一种方法是使用屏幕截图web服务,如http://browsershots.org
您可以创建一个只包含CSS和DIV的最小HTML文件,并将其(使用PHP)保存到web目录中。然后,您将该url传递给web服务,并获得一个图像(屏幕截图)作为响应。
几个月前我做过这样的事情。我用过这个库:
http://www.nihilogic.dk/labs/canvas2image/
它很容易使用,而且做得很好。我希望它能有所帮助。
html2canvas并没有真正截取屏幕截图,而是使用画布重新创建html元素的外观。这就是为什么它看起来不太好(阴影等)
模糊很可能是由于您将图像保存为jpeg,请尝试png:
canvas.toDataURL('image/png')
相关文章:
- 正则表达式在字符串中找到base64
- 如何在jquery、javascript、HTML5中以base64字符串保存为(PDF、doc、xls、png.)
- 如何在JavaScript/Node中计算SHA256哈希和Base64字符串编码
- 将Byte数组转换为Angularjs中的Base64字符串
- 我的 base64 连接字符串有 = 字符.如何摆脱它们
- 转义URL中的Base64字符串
- 在jQuery中更新base64图像字符串时未进行图像刷新
- base64字符串使用Node.JS被写为无效图像
- 图像大小与其base64字符串转换长度之间的比率是多少
- 将内联SVG转换为Base64字符串
- Base64在PHP和JavaScript之间使用加号或与号字符对字符串进行编码
- 如何使用 javascript 将 png 转换为 base64 字符串
- Phonegap - 如何从base64字符串生成图像文件
- 从本地存储 base64 字符串设置背景图像
- 如何将 Base64 字符串转换为 javascript 文件对象,就像从文件输入表单一样
- 将 base64 编码的字节转换为在 Javascript 和 C# 中不同的字符串
- 带有 base64 字符串(数据 URI)的 HTML 图像标记
- 将 Base64 字符串从 AS3 返回到 Javascript.这是一个错误或功能(还是我错了?
- 在javascript中将base64图像转换为文件,或者如何使用jquery ajax传递一个大的base64字符串
- 在 JW 播放器开始之前不显示图像,如果 URL 包含字符串 base64