合并 base64 图像
Merge base64 images
我有几层 KineticJS 画布,它们都彼此重叠。我希望能够将它们导出为 PNG。我可以使用.toDataURL()
函数导出每个图层,但我希望将它们全部作为一个图像。
有没有办法合并所有 base64 字符串?
@apsillers的想法是正确的 - 将每个图像相互叠加并导出最终合成。
KineticJS有一个快捷方式,可以导出所有图层的组合:stage.toDataURL().
stage.toDataURL
会将其所有图层的组合导出到 dataUrl。
警告:与所有画布图片导出一样,您必须确保所有图片都符合 CORS 标准。
下面是示例代码:
var stage = new Kinetic.Stage({
container: 'container',
width: 400,
height: 400
});
var layer1 = new Kinetic.Layer();
stage.add(layer1);
var layer2 = new Kinetic.Layer();
stage.add(layer2);
var img1=new Image();
img1.onload = function() {
var image1 = new Kinetic.Image({
x: 0,
y: 0,
image: img1,
width: 100,
height: 100
});
layer1.add(image1);
layer1.draw();
}
img1.src="yourCORScompliantImage1.png";
var img2=new Image();
img2.onload = function() {
var image2 = new Kinetic.Image({
x: 0,
y: 0,
image: img2,
width: 100,
height: 100
});
layer2.add(image2);
layer2.draw();
}
img2.src="yourCORScompliantImage2.png";
$("#export").click(function(){
stage.toDataURL({
callback: function(dataUrl) {
window.open(dataUrl);
}
});
});
你可以使SVG包含
<image width="100" height="100" xlink:href="data:image1/png;base64,...">
<image width="100" height="100" xlink:href="data:image2/png;base64,...">
<image width="100" height="100" xlink:href="data:image3/png;base64,...">
<image width="100" height="100" xlink:href="data:image4/png;base64,...">
将是 4 层 SVG
相关文章:
- Html页面上的多个Base64图像和平滑加载
- 如何使用jquery将base64图像路径转换为真实路径
- 无法在Cordova 4.0 ios中将jpg/jpeg图像转换为Base64
- base64编码的图像比intranet中的常规图像好吗
- 如何用javascript下载画布图像(base64)
- Cordova图像选取器转换为base64
- 从Base64 Ionic编码和解码图像
- 显示生成的gif;base64图像使用C#代码隐藏在img中使用JavaScript
- 如何在fabricjs中嵌入图像base64将画布转换为SVG
- 一个javascript实现base64图像编码并将结果写入文本文件
- base64图像未显示
- 我用base64对图像进行了正确编码吗
- 如何使用JavaScript将Base64图像更改为常规图像
- 如何使用Java解码由window.btoa编码的base64图像
- 使用 base64 预加载图像
- 从 Base64 转换图像时出错 - HTMLImageElement 已损坏
- 将图像 base64 转换为 base30
- 解码图像Base64字符串无效
- 我无法在iPhone上通过phonegap显示编码图像(Base64)
- Phonegap编码图像base64