HTML5 - H5 Canvas 转换 dataURL / Blob / File 对象
创建 Canvas 及 context 上下文对象
// 创建 canvas 与 context 对象
var canvas = document.createElement('canvas')
var context = canvas.getContext('2d') // canvas 对图片进行缩放
var image = document.getElementById('img')
// 设置 canvas
var w = image.width
var h = image.height
canvas.width = w
canvas.height = h
// 清除画布
context.clearRect(0, 0, w, h)
// 图片绘
context.drawImage(image, 0, 0, w, h)
读取 dataUrl, blob ,并互相转换,转换成 dataUrl, blob, File 格式
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {type:mime});
}
function dataURLtoFile(dataurl, filename) {
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, {type:mime});
}
let dataUrl = canvas.toDataURL()
let blob = canvas.toBlob(blob => {
console.log('blob: ' + blob)
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论