在微信上给用户修改头像的时候,用canvas来截图。结果报错:Owechat_login.js:226 Uncaught TypeError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The provided double value is non-finite.
代码:
function cropImage(targetCanvas, x, y, width, height) {
var targetctx = targetCanvas.getContext('2d');
var targetctxImageData = targetctx.getImageData(x, y, width, height); // sx, sy, sWidth, sHeight
var c = document.createElement('canvas');
var ctx = c.getContext('2d');
c.width = width;
c.height = height;
ctx.rect(0, 0, width, height);
ctx.fillStyle = 'white';
ctx.fill();
ctx.putImageData(targetctxImageData, 0, 0); // imageData, dx, dy
document.getElementById('image').src = c.toDataURL('image/jpeg', 0.92);
document.getElementById('image').style.display = 'initial';
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…