1
我有一个内部透明的图像。它被设置为CSS的背景。我可以将图像添加到画布上,但希望一次只能添加一张图像,以便在画面的透明部分后面添加图像。我该如何做到这一点?先谢谢你!如何使用Fabric.JS将我的电脑中的图像添加到已经设置的图像后面?
var id = document.getElementById('rectangle') && rectangle ||
document.getElementById('anotherCanvas') && anotherCanvas;
var canvas = new fabric.Canvas(id);
document.getElementById('file').addEventListener("change", function (e) {
var file = e.target.files[0];
var reader = new FileReader();
reader.onload = function (f) {
var data = f.target.result;
fabric.Image.fromURL(data, function (img) {
var oImg = img.set({
width: 125,
height: 170
})
canvas.add(oImg).renderAll();
var a = canvas.setActiveObject(oImg);
var dataURL = canvas.toDataURL({
format: 'png',
quality: 1
});
});
};
reader.readAsDataURL(file);
});
canvas {
border: 1px solid #808080;
border-radius: 1px;
}
#rectangle {
background: url(http://i.imgur.com/0Mt6ho1.png);
background-size: contain;
background-repeat: no-repeat;
}
<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>
<input type="file" id="file"><br />
<canvas id="rectangle" width="637" height="412"></canvas>
这地方在正确的位置,但不是框架背后 –
见更新后 – Observer
感谢您的意见和欢呼声! –