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

什么网站框架网站做项目

什么网站框架,网站做项目,公司网页怎么制作,网站开发招标微信小程序保存当前画布指定区域的内容导出生成指定大小的图片&#xff0c;记录一下 api&#xff1a;wx.canvasToTempFilePath 效果&#xff1a; 代码&#xff1a;wxml <canvas style"width: {{screenWidth}}px; height: {{canvasHeight}}px;" canvas-id"my…

微信小程序保存当前画布指定区域的内容导出生成指定大小的图片,记录一下
api:wx.canvasToTempFilePath
效果:
在这里插入图片描述
代码:wxml

 <canvas style="width: {{screenWidth}}px; height: {{canvasHeight}}px;" canvas-id="myCanvas"></canvas><view class="bottom-btn"><van-button custom-class="info-sub" bind:tap="submit" block>下载图片</van-button></view>

js

onLoad(options) {this.initCanvas()
},
initCanvas(){// 自动计算收货地址高度,每一个收货地址占高度60,所以没加一条,高度+60let height = this.data.list.length <7?this.data.canvasHeight:this.data.canvasHeight + (this.data.list.length -6 )*60;console.log(height,'height');var ctx = wx.createCanvasContext('myCanvas')ctx.fillStyle = '#fff'  // 背景色一定要设置,否则下载到图库中会有bugctx.fillRect( 0, 0, this.data.screenWidth, height)   // 设置画布宽高ctx.setFillStyle('#333')ctx.setFontSize(13);ctx.setTextAlign('left');// 填充内容ctx.fillText('申请时间', 25, 65, 200, 30);ctx.fillText(this.data.time, 160, 65, 200, 30);ctx.fillText('会员ID', 25, 95, 200, 30);ctx.fillText(this.data.member, 160, 95, 200, 30);ctx.fillText('昵称', 25, 125, 200, 30);ctx.fillText(this.data.nickName, 160, 125, 200, 30);ctx.fillText('电话', 25, 155, 200, 30);ctx.fillText(this.data.mobile, 160, 155, 200, 30);ctx.setFontSize(15);ctx.setFillStyle('#333')ctx.fillText('配送地址:', 20, 195, 200, 30);ctx.setFillStyle('#333')ctx.setFontSize(11);// 地址是循环出来的,由于后端返回省市区是编号,我这边要转换for (var i = 0; i < this.data.list.length; i++) {let pro = seekProvince(this.data.list[i].province).namelet city = seekCity(this.data.list[i].city).namelet area = seekArea(this.data.list[i].area).namectx.fillText(pro+city+area, 25, 220+(i*60), 200, 30);ctx.fillText(this.data.list[i].addressDetail, 25, i==0?235:235+(i*60), 200, 30);ctx.fillText(this.data.list[i].memberName+' '+this.data.list[i].mobile, 25, i==0?250:250+(i*60), 200, 30);}let self = this// 这里需要注意,直接使用ctx.draw(),会提示我报错画布为空,将延迟期异步写到draw回调里,可以解决这个问题ctx.draw(false,async()=>{setTimeout(() => {wx.canvasToTempFilePath({x: 0,y: 0,width: self.data.screenWidth,height: self.data.canvasHeight,destWidth: self.data.screenWidth * 3,destHeight: self.data.canvasHeight * 3,canvasId: 'myCanvas',success(res) {self.setData({temp_path: res.tempFilePath})console.log(res.tempFilePath)},fail(err){console.log(err,'这是报错的');}},self)}, 100);})},
// 点击下载图片将画布内容下载到手机相册中
submit() {this.saveImgToAlbum()},saveImgToAlbum() {console.log(this.data.temp_path,'----')let self = thiswx.showLoading({title: '保存中...',icon: 'none'})setTimeout(()=>{wx.saveImageToPhotosAlbum({filePath: self.data.temp_path,success(res) {wx.hideLoading({success: (res) => {},})wx.showToast({title: '保存成功',icon: 'none'})},fail(res) {wx.hideLoading({success: (res) => {},})wx.showToast({title: '保存失败,请重新保存'+res.errMsg,icon: 'none'})console.log(res.errMsg)wx.getSetting({success(res) {if (!res.authSetting['scope.writePhotosAlbum']) {self.setData({showAuth: true})} else {self.setData({showAuth: false})}}})}})}, 1000) },

css部分就不写了,主要是底部按钮的样式,至此就完成啦!

http://www.yayakq.cn/news/290634/

相关文章:

  • 网站怎么做后台网站首页模板下载
  • 企业做网站需要什么手续吗卢沟桥网站建设
  • 滁州市南谯区规划建设局网站免费做二建题的网站
  • pc网站如何做移动适配升腾d9116 做网站
  • 凤岗镇网站建设国外有哪些网站可以做电商
  • 网络舆情分析的免费网站四川网络推广
  • 在线文档网站源码wordpress 3.8.3
  • 做网站用平板吗佛山建站模板制作
  • 空投糖果网站开发wordpress主题导航调用
  • 网站建设 流程图企业网站建设课件
  • 在荔浦找事情做投简历那个网站南宁网站建设怎么样
  • 国内酷炫网站wordpress logo更换
  • 看动漫是怎么做视频网站网站设计模板怎么使用
  • 中国铁路建设监理协会官方网站太原网站建设推广
  • 济源网站建设价格瑞金网站建设推广
  • 深圳海外医疗网站建设移动互联网开发平台有哪些
  • 北京网站设计浩森宇特百度总部电话
  • 优惠券的网站制作wordpress topic页面
  • 用vuejs做的网站wordpress占用内存过大
  • 网站设计目标 优帮云电池外贸一般在哪些网站做
  • 手机版官方网站的建设怎样建置换平台网站
  • 四川网站建设哪家专业接私活 做网站
  • 做旅游的网站的需求湖州企业网站制作
  • 怎么把文件发送到网站手机端原神
  • 兰州优化网站wordpress附件链接
  • 越南网站 后缀怎么在南京人社网站做失业登记
  • 苏州建网站需要什么网站搭建费用
  • 温州网站推广哪家好管理会计
  • 梁山网站建设电话珠海网站制作网络推广
  • 织梦怎么做门户网站外贸推广网站邮箱收费