uniapp踩坑之项目:canvas第一次保存是空白图片

这篇具有很好参考价值的文章主要介绍了uniapp踩坑之项目:canvas第一次保存是空白图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 在ctx.draw()回调生成图片,参考canvasToTempFilePath接口文档

// data
imgFilePath: null,// 缓存二维码图片canvas路径

//js
// 首先在draw()里进行本地存储
......
ctx.draw(false, () = >{
	uni.canvasToTempFilePath({ // 把画布转化成临时文件
		quality: 1,
		// 图片质量
		canvasId: 'shareCanvas',
		// 画布ID
		success: (res) = >{
			// uni.showToast({
			//  icon: 'success',
			//  mask: true,
			//  title: '绘制完成',
			// });
			this.imgFilePath = res.tempFilePath;
			//console.log(this.imgFilePath, 'this.imgFilePath');
			uni.setStorageSync('filePath', this.imgFilePath) //保存临时文件路径到缓存
		},
		fail: function(res) {
			// console.log(res);
		}
	})
})

// 然后保存图片按钮进行取值
// 保存图片到本地,下面保存到手机
async savePic() {
	// console.log(this.imgFilePath, 'this.imgFilePathsavePic')
	let res = await uni.canvasToTempFilePath({ // 把画布转化成临时文件
		quality: 1,
		// 图片质量
		canvasId: 'shareCanvas',
	}) // 画布ID
	let storageImgFilePath = uni.getStorageSync('filePath')
	// console.log(storageImgFilePath,'storageImgFilePath');
	setTimeout(() = >{
		uni.saveImageToPhotosAlbum({ // 存成图片至手机
			filePath: storageImgFilePath,
			success: (res2) = >{
				uni.showToast({
					title: '图片保存成功',
					duration: 2000
				})
			},

			............
		})
	},
	1000)

上一篇文章,

vue3+elementPlus:el-drawer新增修改弹窗复用_element plus drawer onclick outside 嵌套弹窗-CSDN博客文章浏览阅读854次,点赞5次,收藏6次。vue3+elementPlus:el-drawer新增修改弹窗复用。在el-drawer的属性里设置:title属性,和重置函数。_element plus drawer onclick outside 嵌套弹窗https://blog.csdn.net/weixin_43928112/article/details/135237566文章来源地址https://www.toymoban.com/news/detail-815273.html

到了这里,关于uniapp踩坑之项目:canvas第一次保存是空白图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第一次使用服务器部署项目

      前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言,只能进行后端数据的处理和管理前端

    2024年02月01日
    浏览(51)
  • idea(第一次)启动项目,端口变成了8080

    先上配置 该排查的问题也都没问题,重启idea也试过了,还是8080 解决办法:点击右侧的maven ,左上角的重新导入 reimport all maven projects  我又没有改动pom文件,居然还要点这里,也是很奇怪的报错。

    2024年02月07日
    浏览(45)
  • 第一次运行Vue项目 怎么运行别人的Vue项目

    1、在编译器将项目打开,如果已有以下两个文件夹,先删掉,这个是别人编译器运行后生成的,所以不用怕删掉。   2、新建终端,输入 “ npm install ”        这里是因为node_modules文件下装的是项目依赖文件,相当于maven下的插件,如果拿来的文件没有node_modules文件,是无

    2024年02月02日
    浏览(56)
  • Git第一次初始化项目到远程仓库

    git init 命令用于初始化Git 仓库。git init之后会提示“Initialized empty Git repository in 某个目录”,此时就会在相应的目录下创建一个“.git”文件夹。这个文件夹里的文件就是git的实现。没有git init之前,git status会提示“not a git repository” git@gitee.com:flytalei/JavaEE-Basic.git 当本地新项

    2024年02月04日
    浏览(71)
  • Django项目第一次打开加载不出css文件

    你需要找到setting.py如下部分  修改你存放css文件和js等文件的目录 指定正确,本地就能跑了

    2024年02月10日
    浏览(38)
  • 第一次使用HbuilderX运行微信小程序项目

     点击设置  再点击运行配置,找到小程序运行配置,设置自己对应的路径 如果没有配置路径,则会报错:  然后粘贴自己的appid就好了

    2024年02月13日
    浏览(56)
  • git第一次拉取远程分支项目(ssh的方式)

    一.生成SSH keys,并将生成的key复制到远程库 1.本地用命令生成密钥对。 ssh-keygen -t rsa -C \\\"yourEmailAddress\\\" 或 ssh-keygen -t ed25519 -C \\\"yourEmailAddress\\\" 按三次enter直接生成密钥对。 2.切换至ssh目录下,复制key(公钥)。 cd ~/.ssh more id_rsa.pub 3.登陆远程库,复制key到SSH Keys。 此处以github为例

    2024年02月16日
    浏览(52)
  • 【UE5】第一次尝试项目转插件(Plugin)的时候,无法编译

    VS显示100条左右的错误,UE热编译也不能通过。原因可能是[名字.Build.cs]文件的错误,缺少一些内容,比如说如果要写UserWidget类,那么就要在 ]名字.Build.cs] 中加入如下内容: 根据你的文件进行添加。如果说依然有如图的问题,那你就去原来的项目里看看哪些没加上去。 正在创

    2024年01月22日
    浏览(50)
  • 纯小白新人菜鸟第一次unity VR项目与matlab联动调试过程记录超详细版本2023.3.12

    本人是个超级菜鸟,因为项目需要用到unity、matlab并且实现两者联动,才刚开始接触Unity、Matlab,以前只有一点C/C++和Java基础(好几年前学的,只会加减乘除、连dll是什么都不懂),花了好几天时间根据网上、文献里的各种教程,踩了很多无法言说的小白坑,特此把过程中遇到

    2023年04月22日
    浏览(44)
  • 【Git】第一次将本地项目仓库推代码到空的远程仓库方法以及报错的解决方案

    完成上述三步之后,在弹出来的对话框中选择自己的项目目录, 点确定,就可以在文件管理器中看到目录下生成了一个隐藏目录 “ .git ” 右键项目目录,找到Git,根据图示找到remote 在弹出来的对话框中,输入自己远程仓库的地址 点击ok,输入验证信息,连接完毕。 点击p

    2024年02月15日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包