当前位置: 首页 > news >正文

小程序实现绘制图片 保存到手机

 HTML

<template><view><canvas canvas-id="myCanvas" :style="{height:'380px',width:wWidth+'px',background:'#FFFFFF'}"></canvas><view class="textCenter"><button @click="saveCanvas">保存图片</button></view></view>
</template>

JS

<script>export default {data() {return {wHeight:'',wWidth:''}},onLoad(){this.wHeight=uni.getWindowInfo().screenHeight-50; //屏幕可视区域高度this.wWidth=uni.getWindowInfo().screenWidth;//屏幕可视区域宽// 获取Canvas对象 var context = wx.createCanvasContext('myCanvas') //设置背景颜色是白色,这个地方就是设置一个与canvas画布一样大小的方框设置方框背景context.setFillStyle('#FFFFFF')context.fillRect(0,0,this.wWidth,380);context.stroke()// 绘制文本			context.setFontSize(20)			context.setFillStyle('red')context.setTextAlign('center')context.fillText('Hello World!',  this.wWidth/2, 50) context.setFontSize(20)context.setFillStyle('red')context.setTextAlign('center')context.fillText('葫芦娃', this.wWidth/2, 100)context.stroke() let _this=this;// 绘制图片wx.getImageInfo({src: 'https://yujia-shanghai-bucket.oss-cn-shanghai.aliyuncs.com/h5/out_program/1687242451873_634a7025d03364b415b90bf5a07306071827dbc97358-C6odDl_fw1200.webp.jpg',success(res) { context.drawImage(res.path, _this.wWidth/2-100, 140, 200, 200) context.stroke() // 将Canvas绘制出来 context.draw()}			}) },methods: {saveCanvas(){wx.canvasToTempFilePath({  x: 0,  y: 0,  width: this.wWidth, height: 380,  canvasId: 'myCanvas',  fileType:'jpg',success: function (res) {  console.log(res.tempFilePath);  wx.saveImageToPhotosAlbum({filePath: res.tempFilePath,success: (resS) => {    console.log(resS)  uni.showToast({title:'保存成功',icon:'success'})},  fail: (errS) => {}}) },fail: (err) => {console.log(err);}  }) return;}}}
</script>

http://www.lryc.cn/news/275904.html

相关文章:

  • Elasticsearch基本操作之索引操作
  • 调用Java线程相关的API为什么能够控制操作系统线程?
  • 【办公技巧】excel中设置选项按钮的方法
  • 如何编写高效的正则表达式?
  • vue3中使用pinia,更改state中数据,试图不更新问题
  • 【前端设计】文字聚光灯
  • 从零开始搭建企业级前端项目模板(vue3+vite+ts)
  • ElasticSearch的DSL查询语法解析
  • Linux 常用基础命令(2024年最新篇)新手小白必看 初识Linux
  • Golang中for和for range语句的使用技巧、对比及常见的避坑
  • Nestjs 微服务实战 - 动态微服务创建链接
  • K8S部署pod状态CreateContainerConfigError问题解决
  • PyTorch 简单易懂的实现 CosineSimilarity 和 PairwiseDistance - 距离度量的操作
  • app加载不到aar中的so库
  • vue-springboot基于java的实验室安全考试系统
  • mysql+关掉密码过期
  • 实际项目中的环形缓冲区
  • 输出回文数-第11届蓝桥杯选拔赛Python真题精选
  • 内存溢出会导致模块测试正常,植入系统失败
  • 【taro react】 ---- QRCode 二维码生成
  • rk3566 armbian修复usb2.0并挂载U盘
  • 猫头虎博主第9期赠书活动:《YOLO目标检测》计算机AI视觉实战YOLO人工智能目标检测与跟踪图像处理深度学习图像检测书籍
  • python 如何将英语单词翻译成中文
  • Linux_CentOS_7.9_MySQL_5.7配置数据库服务开机自启动之简易记录
  • js实现拖动盒子查看内容 内容拖动
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • c++ execl 执行 重定向
  • uni-app中实现元素拖动
  • Java系列-Class.forName和ClassLoader.loadClass的区别
  • 找不到模块 “path“ 或其相对应的类型声明