代码拉取完成,页面将自动刷新
同步操作将从 sohucw/tool-box 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>file</title>
</head>
<body>
<canvas width="980" height="500"></canvas>
</body>
<script>
let canvas = document.querySelector('canvas');
// async 自执行函数
(async () => {
let imgUrl = 'https://img2.baidu.com/it/u=1405034453,4094362351&fm=253&fmt=auto&app=138&f=JPEG?w=1000&h=500';
let ctx = canvas.getContext('2d');
let img = await fetchImg(imgUrl);
// 向 canvas 画布上下文绘制图片
ctx.drawImage(img, 0, 0)
// 获取图片 blob 对象
canvas.toBlob((blob) => {
console.log('blob: ', blob);
// let hiFile = new File([`<h1>Hi gauseen!<h1>`], 'fileName', { type: 'text/html' });
let hiFile = new File([ blob ], '图片', { type: 'image/png' });
console.log('hiFile----', hiFile);
//let hiBlob = new Blob([`<h1>Hi!<h1>`], { type: 'text/html' })
// console.log('hiBlob====', hiBlob);
})
// 获取图片 dataURL,也是 base64 格式
let dataURL = canvas.toDataURL()
// console.log('dataURL: ', dataURL)
})()
// 获取图片资源,封装成 promise
function fetchImg (url) {
return new Promise((resolve, reject) => {
let img = new Image()
// 跨域图片处理
img.crossOrigin = 'anonymous'
img.src = url
// 图片资源加载完成回调
img.onload = () => {
resolve(img)
}
})
}
</script>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。