【发布时间】:2021-09-27 18:52:36
【问题描述】:
我们正在使用 Ionic 和 Angular。
点击图片后,我们需要在画布上旋转图片。如果我们传递 jpg,它会根据需要旋转,但是当我们传递 base64 时,它不会旋转图像。
下面是我们的代码:
home.html
<canvas id="c" ></canvas>
home.ts
ngOnInit() {
let img = "//base64 string";
setTimeout(() => {
this.rotateBase64Image(img, 'callback');
},1000);
}
rotateBase64Image(base64data, callback) {
var canvas = document.getElementById("c");
var ctx = (<any>canvas).getContext("2d");
var image = new Image();
image.src = base64data;
image.onload = function() {
var size = '200';
canvas.setAttribute('width', image.width.toString());
canvas.setAttribute('height', image.height.toString());
ctx.rotate(90 * Math.PI / 180);
ctx.drawImage(image, 0, -image.height);
console.log(""+callback+"('"+(<any>canvas).toDataURL()+"')");
};
}
callback(base64data) {
console.log(base64data);
}
这是通过base64时的canvas截图:
【问题讨论】:
标签: javascript angular typescript ionic-framework