如何将fabricjs画布图像保存在另一个背景图像上
How to save fabricjs canvas image on another background image?
我想把我的画布图像保存在另一个图像上。
$(document).on('click','#local-save', function(event) {
var imgURL = "assets/images/bg.png";
canvas.overlayImage.filters = [];
canvas.overlayImage.applyFilters();
canvas.renderAll();
window.open(canvas.toDataURL({
format: 'png',
multiplier: 2,
left: 300,
height: 500,
width: 500
}));
});
在这里我可以得到canvas image。但我想把它保存在背景图像上。如何做到这一点?
使用data url作为某事的背景属性
var dataurl = canvas.toDataURL({
format: 'png',
multiplier: 2,
left: 300,
height: 500,
width: 500
});
someElement.style.background = "url("+dataurl+")";
运行代码片段并点击点击我然后将画布转换为图像。我想这对你有帮助。
var canvas = new fabric.Canvas('canvas');
canvas.setBackgroundImage('https://c1.staticflickr.com/5/4051/4510967899_293f0dd5ac_z.jpg',
canvas.renderAll.bind(canvas),
// here set the crossOrigin attribute
{crossOrigin: 'anonymous'}
);
document.getElementById('file').addEventListener("change", function(e) {
var file = e.target.files[0];
var reader = new FileReader();
console.log("reader " + reader);
reader.onload = function(f) {
var data = f.target.result;
fabric.Image.fromURL(data, function(img) {
var oImg = img.set({
left: 70,
top: 100,
width: 250,
height: 200,
angle: 0
}).scale(0.9);
canvas.add(oImg).renderAll();
canvas.setActiveObject(oImg);
});
};
reader.readAsDataURL(file);
});
document.querySelector('#txt').onclick = function(e) {
e.preventDefault();
canvas.deactivateAll().renderAll();
document.querySelector('#preview').src = canvas.toDataURL();
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.min.js"></script>
<div class="col-sm-12">
<div class="text-center" style="font-size:25;margin-top:17px;margin-bottom: 30px;"><strong>Customize T-Shirt From Here</strong>
</div>
<input type="file" id="file">
<br/>
<canvas id="canvas" width="750" height="550" style="border: 1px solid black; box-shadow: rgba(0,0,0,0.8) 0 0 10px;"></canvas>
<a href='' id='txt' target="_blank">Click Me!!</a>
<br />
<img id="preview" />
</div>
我已经解决了我的问题如下。我的背景图像在另一个画布id MyID
下打开。我的正常画布id是canvas
。
var MaskImg = canvas.toDataURL({
format: 'png',
multiplier: 2,
left: 300,
height: 400,
width: 400
});
var c=document.getElementById("MyID");
var ctx=c.getContext("2d");
c.width = 1748;
c.height = 2481;
var imageObj1 = new Image();
var imageObj2 = new Image();
imageObj1.src = "assets/images/bg.png"
imageObj1.onload = function() {
ctx.drawImage(imageObj1, 0, 0, 1748, 2480);
imageObj2.src = MaskImg;
imageObj2.onload = function() {
event.preventDefault();
ctx.drawImage(imageObj2, (100, 100 , 400, 400);
event.preventDefault();
var img = c.toDataURL({
format: 'png',
});
window.open(img);
}
};
相关文章:
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- 将多个重叠的透明图像保存为一个图像
- 将图像保存到安卓系统中的SD卡
- 将图像保存到硬盘驱动器
- 在将图像保存到服务器之前检查图像大小
- 使用Cordova contacts插件将图像保存到用户的联系人中
- 如何使用纯javascript或jQuery将HTML5画布屏幕作为png图像保存到项目的特定文件夹中
- 是否可以调用Google API获取地图图像并将图像保存在某个位置
- 将图像保存到用户的pc缓存中,并使用asp.net从缓存中使用它
- 谷歌图表将缩放的图像保存为PNG
- 将上传的图像保存在本地位置
- 如何将图像保存为基数 64
- 将上传的图像保存到本地存储(chrome 扩展程序)
- 无法将完整画布图像保存到服务器
- 如何将画布图像保存在磁盘中
- React Native 将 http 图像保存到 Android 相机胶卷
- 使用Phonegap将图像保存到Iphone照片库
- 将图像保存到Webkit和Gecko中的blob
- Javascript和FF-addon:如何在不重新下载的情况下将图像保存到本地磁盘
- 将本地计算机上的相机捕获的图像保存在文件夹中