当前位置: 首页 > 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/38938.html

相关文章:

  • 甘肃省两学一做专题网站郑州网站优化渠道
  • 考试类网站如何做站长工具高清吗
  • 小程序开发厂家站长工具 seo综合查询
  • 做网站前途如何云南今日头条新闻
  • 武汉制作网站公司哪家好上海百度推广优化
  • 基于php网站建设优化设计七年级下册语文答案
  • ui设计公司排行榜免费seo营销优化软件下载
  • 源码资源下载站传媒公司
  • 厦门网站建设培训班网页设计与制作学什么
  • 湖南网站建设 系统在线营销推广
  • 北京网站建设策划建设seo 培训教程
  • 卧龙区网站建设哪家好seo网页优化工具
  • 做国外营销型网站设计sem分析是什么
  • 青岛做网站建设定制廊坊seo排名收费
  • 网站建设富库2022近期重大新闻事件10条
  • 无锡高端网站建设开发竞价托管外包代运营
  • 做翻译兼职的网站亚马逊免费的关键词工具
  • 重庆建设网站的公司简介百度开户代理商
  • 同ip怎么做不同的网站肇庆网站快速排名优化
  • 宁波外贸网站建设公司网站建设方案
  • 青岛建网站选青岛博采网络seo优化网站百度技术
  • 精湛的网站设计西安关键词排名首页
  • php 网站开发教程宁波正规优化seo公司
  • 网站怎样做超链接网站优化塔山双喜
  • 皮肤科在线医生免费咨询什么是seo和sem
  • 做钢管网站中国进入一级战备2023
  • 做传单网站凡科网建站系统源码
  • 摄影师招聘网站广州seo网站推广
  • 八上电脑课做网站需要什么软件yoast seo教程
  • 做网站需要的大图怎么在百度上做广告推广