首页 > 其他分享 >canvas常用操作方法

canvas常用操作方法

时间:2023-08-01 10:47:01浏览次数:34  
标签:canvas img imageData 操作方法 常用 height var data

base64转换Blob数据

function dataURLtoBlob(dataurl: string) {
    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);
    }
    eturn new Blob([u8arr], { type: mime });
}

// 使用示例:

var imgData = canvas.toDataURL({ format: 'png', quality: 1, width: 20000, height: 4000 });

var blob = dataURLtoBlob(imgData);

canvas转换Blob数据

canvas.toBlob(function (blob) {
 console.log(blob)
 saveAs(blob, '图片下载.jpeg')
})

 

图片转换base64

function getBase64Image(img) {
    var canvas = document.createElement("canvas");
    canvas.width = img.width;
    canvas.height = img.height;
    var ctx = canvas.getContext("2d");
    ctx.drawImage(img, 0, 0, img.width, img.height);
    var dataURL = canvas.toDataURL("image/png");
    return dataURL
    // return dataURL.replace("data:image/png;base64,", "");
}

 

设置canvas背景图片底色为白色

var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height)
for (var i = 0; i < imageData.data.length; i += 4) {
    // 当该像素是透明的,则设置成白色
    if (imageData.data[i + 3] == 0) {
        imageData.data[i] = 255
        imageData.data[i + 1] = 255
        imageData.data[i + 2] = 255
        imageData.data[i + 3] = 255
    }
}
ctx.putImageData(imageData, 0, 0)

 

 

标签:canvas,img,imageData,操作方法,常用,height,var,data
From: https://www.cnblogs.com/yeminglong/p/17595821.html

相关文章

  • vscode常用快捷键【转】
    1、选中光标所在单词==》ctrl+d2、删除光标所在行==》ctrl+shift+k3、拷贝光标所在行==》ctrl+c4、在光标下一行创建新的一行,同时移动光标到下一行==》crtl+enter5、复制光标所在行,并创建下一行,把内容粘贴到下一行==》shift+alt+⬇/⬆6、剪切光标所在行==》ctrl+x......
  • Visual Studio常用快捷键(附带免费PDF)
    前言对于开发者而言,熟悉快捷键的使用,能够起到事半功倍的作用,提高工作效率。以下是我整理的一份VisualStudio常用快捷键清单,希望能够帮助到你。常用快捷方式快捷键功能Ctrl+K+C注释选定内容Ctrl+K+U取消注释选定内容Ctrl+K+D代码格式整个文档内容......
  • openGauss数据库常用操作命令
    1.以操作系统用户omm登录数据库主节点su-omm1.1启动服务分布式openGauss:gs_om-tstart启动服务gs_om-trestart重启服务集中式openGauss:gs_om-tstop关闭服务gs_om-tstart启动服务1.2使用“gs_om-tstatus–detail”命令查询openGauss各实例状......
  • Docker常用命令
    title:"Docker常用命令"date:2023-07-31T12:05:25+08:00tags:["Linux运维","Docker"]categories:[]draft:falsedockerdockerinfo#docker配置信息dockerinspect$cid#查看容器的配置信息dockerimagesdockerps-adockerrun-it$image_id-......
  • Swagger_常用注解
            API的注解可以使测试是我们在测试接口里更好的分析......
  • 2023-07-31 在uniapp使用canvas绘制一个圆角为50%的图片【代码来自chatGpt,稍作修改】
    <template><view><canvasid="myCanvas":style="{width:'200px',height:'200px'}"></canvas></view></template><script>exportdefault{onReady(){this.......
  • UVM:3.3.2 field_automation 机制常用的函数
    1.copy要把A的实例复制到B实例中,应该使用B.copy(A),使用前,B必须使用new分配好内存空间。2.compare比较A与B是否一样,可以使用A.compare(B),也可以使用B.compare(A)。相等时,返回1;否则为0。3.pack_bytes将所有字段打包成bytes流。返回的是size。4.unpack_bytes:将byte流逐一恢复到某个cla......
  • 安装python以及常用库
    1. 去官网下载python,并安装,笔者版本3.11.4。【安装完毕后建议重启编译器和控制台,以确保导入了最新的环境变量】2. 设置镜像,加快pip3的下载速度。pip3configsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple3. 安装numpy等  pip3installnum......
  • pandas模块---------------------------------常用求平均average的用法
    求平均值代码:importpandasaspd#导入模块df=pd.read_excel(r'C:\Users\Administrator/Desktop/test/1.xlsx')#文件路径a=lambdax:x.mean(1).round(2)#lambda函数m=a(df.iloc[:,1:3])#传入第1-3列计算平均值m=pd.DataFrame(m,columns=['平均分'])#转成dataframe,命名列df['......
  • DRF之Request常用参数
    登录成功,将token封装好返回给前端,前端再放到locallsession里永久化存储。导航守卫拿到token后就进行第一层守卫防止没登录用户通过。再由拦截器进行校验。这个请求头'Authorization'主浊JWT搞得那个加密token,后端就是要校验这个玩意儿我想。获取时在jwtauth里加上HTTP_就OKjwt其实......