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

比分网站制作百度手机助手应用商店

比分网站制作,百度手机助手应用商店,品牌策划设计包括哪些内容,工厂订单管理软件在微信小程序的开发过程,经常会使用自带的api(wx.chooseImage)进行图片拍照或选择图片进行上传,有时图片太大,造成上传和下载时过慢,现对图片进行压缩后上传,以下是流程和代码 一、小程序的版本选择了3.2.5&#xff0…

在微信小程序的开发过程,经常会使用自带的api(wx.chooseImage)进行图片拍照或选择图片进行上传,有时图片太大,造成上传和下载时过慢,现对图片进行压缩后上传,以下是流程和代码

一、小程序的版本选择了3.2.5,使用其它版本有时不知道错误

二、wxml代码,需要添加canvas

<canvas style="width: {{cwidth}}px;height: {{cheight}}px;position:fixed;top:9999px" canvas-id="mycanvas"></canvas>

三、js代码

1、参数

 cwidth:'375',

cheight:'667',

   //上传图片时,当前数组下标,用来确认上传第几张图片,上传完一次就+1

        tempNum: 0,

        // 图片上传参数 

        filePath: "",

        images: [],

        count: 1,

2、选择图片wx.chooseImage
 

// 选择图片chooseImage: function (e) {console.log('选择图片chooseImage')var that = this;wx.chooseImage({count: that.data.count, // 默认9sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有success: function (res) {console.log('图片大小='+res.tempFiles[0].size)if(res.tempFiles[0].size>500000){//图片大于500K才进行压缩,压缩后大约400Kthat.canvasImage(res.tempFilePaths[0], 0) } else{//图片添加水印that.addTimeWatermark(res.tempFilePaths[0])} },})},//压缩图片canvasImage:function(imgUrl,index){console.log('canvasImage压缩图片')wx.showLoading({title: '照片上传中...',})var that = thiswx.getImageInfo({src: imgUrl,success(res) {console.log("路径", res.path)console.log('获得原始图片大小', res.width, res.height)var originWidth, originHeight;originHeight = res.height;originWidth = res.width;// 最大尺寸限制   //压缩比例var maxWidth = originWidth >= originHeight ? 540 : 810,maxHeight = originWidth >= originHeight ? 810 : 540;// 目标尺寸var targetWidth = originWidth,targetHeight = originHeight;//等比例压缩,如果宽度大于高度,则宽度优先,否则高度优先if (originWidth > maxWidth || originHeight > maxHeight) {if (originWidth / originHeight > maxWidth / maxHeight) {// 要求宽度*(原生图片比例)=新图片尺寸targetWidth = maxWidth;targetHeight = Math.round(maxWidth * (originHeight / originWidth));} else {targetHeight = maxHeight;targetWidth = Math.round(maxHeight * (originWidth / originHeight));}}console.log("压缩后的图片大小", targetWidth, targetHeight)var ctx = wx.createCanvasContext('mycanvas');ctx.clearRect(0, 0, targetWidth, targetHeight);ctx.drawImage(res.path, 0, 0, targetWidth, targetHeight);ctx.draw();//更新canvas大小that.setData({cwidth: targetWidth,cheight: targetHeight});setTimeout(function () {wx.canvasToTempFilePath({canvasId: 'mycanvas',success: (res) => {wx.hideLoading()console.log("压缩后的临时路径:", res.tempFilePath)that.addTimeWatermark(res.tempFilePath)},fail: (err) => {wx.hideLoading()console.error(err)}}, this)}, 400); //延迟400毫秒为了等canvas画上}})},
// 添加时间水印addTimeWatermark: function (imagePath) {var that = thisconsole.log('addTimeWatermark=' + imagePath)var ctx = wx.createCanvasContext('mycanvas');this.roundRectColor(ctx, 0, 30, 375, 620, 16);ctx.drawImage(imagePath, 15, 120, 344, 400);ctx.save();// 设置水印文字const time = app.util.formatTime()console.log('time=' + time)ctx.beginPath(); //开始绘制   ctx.setFontSize(22);ctx.setFillStyle('#DC3545')ctx.fillText(time, 15, 450); // 根据实际情况调整位置ctx.draw();//将生成好的图片保存到本地,需要延迟一会,绘制期间耗时setTimeout(function () {wx.canvasToTempFilePath({canvasId: 'mycanvas',success: function (res) {var tempFilePath = res.tempFilePath;console.log('imagePath=' + tempFilePath)that.data.images.push(tempFilePath);console.log(that.data.images)that.setData({imagePath: tempFilePath,images: that.data.images});},fail: function (res) {console.log(res);}});}, 200);},roundRectColor: function (context, x, y, w, h, r) { //绘制圆角矩形(纯色填充)context.save();context.setFillStyle("#FFFFFF"); //小框context.setStrokeStyle('#FFFFFF') //大框// context.setLineJoin('round'); //交点设置成圆角context.setLineWidth(r);context.strokeRect(x + r / 2, y + r / 2, w - r, h - r);context.fillRect(x + r, y + r, w - r * 2, h - r);context.stroke();context.closePath();},
//上传图片
app.util.uploadImg(that.callBackClose, app, that.data.pid, that.data.images, that.data.tempNum, 'check')

http://www.dtcms.com/wzjs/490675.html

相关文章:

  • 网站的三级页面怎么做个人建网站步骤
  • 深圳网站建设做一个公司网站要多少钱广告网站推荐
  • 上海网站公安局备案太原关键词排名推广
  • 南宁百度网站建设公司哪家好微博营销的特点
  • 乐山市住房和城乡建设局网站百度seo排名主要看啥
  • 标识设计公司网站关键词查询工具免费
  • 商务网站建设公学网络营销去哪个学校
  • 成都网站建设电话最好的网络推广方式
  • 做中英文版的网站需要注意什么怎么提交百度收录
  • wordpress可以做电影站网站制作多少钱
  • java做的网站php公众号运营收费价格表
  • 企业网站建设应该怎么做百度助手app免费下载
  • 酒店行业网站建设方案济南疫情最新消息
  • 滕州网站建设做推广
  • 做字幕网站有哪些最权威的排行榜网站
  • 加强住房公积金网站建设百度关键词seo排名
  • 嘉兴网站建设全包seo免费诊断
  • 网站做优化得话从哪里优化微信营销方法
  • 做网站需要申请专利吗海外推广服务
  • drupal wordpress网站品牌型网站制作价格
  • 只做动漫的h网站班级优化大师是干什么用的
  • 做企业网站需要准备什么材料百度首页纯净版怎么设置
  • 安徽设计网站建设网站宣传推广文案
  • 用vs2008做的网站前台脚本是什么南京网站推广公司
  • 网站关键词符号广州企业网站建设
  • 建设网站的意义 作用长沙seo排名优化公司
  • 两学一做测试网站个人博客登录首页
  • php网站开发薪资dw网页制作教程
  • 顺义网站做的比较好的公司线上推广如何引流
  • 提高网站注册率青岛招聘seo