我正在设置图像Cropper,它将为我提供裁剪细节的宽度和高度,X和Y。使用我正在创建预览图像(使用画布),但是是否可以存储从HTMLCanvasElement.toDataURL()
或canvas.toBlob()
返回的数据并在其他设备和浏览器中重用?
请参阅下面的链接(它使用canvas.toBlob()
方法)
https://codesandbox.io/s/72py4jlll6
最佳答案
您可以尝试使用以下代码行:
if (!HTMLCanvasElement.prototype.toBlob) {
Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', {
value: function (callback, type, quality) {
var binStr = atob( this.toDataURL(type, quality).split(',')[1] ),
len = binStr.length,
arr = new Uint8Array(len);
for (var i=0; i<len; i++ ) {
arr[i] = binStr.charCodeAt(i);
}
callback( new Blob( [arr], {type: type || 'image/png'} ) );
}
});
}
只需更改您的代码即可。
请尽快LMK。
关于html - 是否可以重复使用从HTMLCanvasElement.toDataURL()或canvas.toBlob()返回的DOMString?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56342085/