本地上传图片或者后台返回图片,用canva合成例子
<body>
<img id="base64" />
<input id="file" type="file" name="" />
<canvas id="canvas2" width="800" height="500"></canvas>
<script>
document.querySelector("#file").addEventListener("change", function() {
console.log(document.querySelector("#file").value);
var file = this.files[0];
var canvas = document.getElementById("canvas2");
var ctx = canvas.getContext("2d");
var reader = new FileReader();
var image = new Image();
reader.onload = function(event) {
image.src = event.target.result;
};
reader.onloadend = function(e) {
image.onload = function() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.translate(0, 0);
console.log(
image.width,
image.height,
image.naturalWidth,
image.naturalHeight
);
var imgnaturalWidth = image.naturalWidth;
var imgnaturalHeight = image.naturalHeight;
ctx.save();
image.width = imgnaturalWidth * 1;
image.height = imgnaturalHeight * 1;
var xpos = 0;
var ypos = 0;
ctx.drawImage(
image,
xpos - ypos,
xpos - ypos,
image.width,
image.height
);
ctx.restore();
var base64 = canvas.toDataURL();
document.querySelector("#base64").setAttribute('src',base64);
console.log(base64);
};
};
reader.readAsDataURL(file);
});
</script>
</body>