微信小程序 本地图片按照屏幕尺寸处理


Posted in Javascript onAugust 04, 2017

微信小程序 本地图片按照屏幕尺寸处理

前言:

个人感觉微信小程序的IDE用起来有时候不太方便,可能是之前用惯了Eclipse的原因吧。微信小程序的开发工具不支持直接将文件拷贝到目录下,所以首先要将图片文件导入到本地目录下,然后编写工具类获取屏幕的宽度和高度,具体步骤如下图。

1、本地图片导入

步骤一:选择最左侧的菜单中的项目

微信小程序 本地图片按照屏幕尺寸处理

步骤二:选择打开后将图片直接拷贝到新建的image文件夹下

图片导入完成后,项目的整体目录结构如下图所示,

微信小程序 本地图片按照屏幕尺寸处理

2、按屏幕尺寸自适应图片宽和高

步骤一:编写工具函数,返回封装后的屏幕高度和宽度

打开根目录下的utils文件夹下的utils.js文件,个人感觉这个类似Java里面的工具类,具体代码如下:

/** 
 * 获取移动端显示屏的宽和高, 
 * 参数:e, 
 * return viewSize (包含显示屏的宽和高) 
 */ 
function getViewWHInfo(e){ 
  var viewSize={}; 
  var originalWidth = e.detail.width;//图片原始宽  
  var originalHeight = e.detail.height;//图片原始高  
  wx.getSystemInfo({ 
   success: function (res) {  
    //读取系统宽度和高度 
    var viewWidth = res.windowWidth; 
    var viewHeight = res.windowHeight;  
    console.log(originalWidth + " " + originalHeight); 
    console.log("宽:" + viewWidth + "高" + viewHeight); 
    viewSize.width = viewWidth; 
    viewSize.height = viewHeight; 
   } 
  }); 
  return viewSize; 
} 
//导出接口--必须要写 
module.exports = { 
 getViewWHInfo: getViewWHInfo 
}

步骤二:编辑脚本文件

打开index文件夹下的index.js文件,将原有的内容全部删除,并将下列代码直接复制,首先调用require函数将工具类进行实例化,其中data里面设置的是我们在index.wxml文件中需要读取的变量,imageLoad函数将绑定图片加载事件bindLoad, imageUtil.getViewWHInfo(e)该句调用了上面自定义的函数。

//index.js 
//获取应用实例 
//获取工具类的应用实例  
var imageUtil = require('../../utils/util.js');  
var app = getApp() 
Page({ 
 data:{ 
  imageUrl:"../image/1.jpg", 
  viewHeigh:"", 
  viewWidth:"" 
 }, 
 onLoad: function () { 
 }, 
 imageLoad:function(e){ 
  var viewSize = imageUtil.getViewWHInfo(e); 
  //console.log(viewSize.heigh); 
  this.setData({ 
   viewHeigh: viewSize.height, 
   viewWidth: viewSize.width 
  }); 
   
 } 
})

步骤三:编辑图片标签

打开index文件夹下的index.wxml文件,删除原有的全部内容,将下面的图片插入代码直接复制粘贴,其中style表示的是标签的样式,width:{{viewWidth}}表示图片的宽度是取index.js文件中所赋的值,height和src同理,bindload事件表示该图片加载的时候绑定了index.js文件imageLoad函数,并且在图片加载时执行该函数。

<image  
style="width: {{viewWidth}}px; height: {{viewHeigh}}px;" src="{{imageUrl}}" bindload="imageLoad"> 
</image>

最后效果图:

微信小程序 本地图片按照屏幕尺寸处理

以上就是微信小程序 本地图片按照屏幕尺寸处理的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
JS 参数传递的实际应用代码分析
Sep 13 Javascript
js获取当前页面路径示例讲解
Jan 08 Javascript
jQuery 中DOM 操作详解
Jan 13 Javascript
jquery实现漂亮的二级下拉菜单代码
Aug 26 Javascript
JavaScript性能优化之小知识总结
Nov 20 Javascript
jQuery对html元素的取值与赋值实例详解
Dec 18 Javascript
如何利用JSHint减少JavaScript的错误
Aug 23 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
Oct 27 Javascript
使用layer弹窗和layui表单实现新增功能
Aug 09 Javascript
layer.open关闭父窗口 以及调用父页面的方法
Aug 17 Javascript
用VsCode编辑TypeScript的实现方法
May 07 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
Sep 21 Javascript
Javascript实现跨域后台设置拦截的方法详解
Aug 04 #Javascript
微信小程序 五星评分的实现实例
Aug 04 #Javascript
JavaScript中in和hasOwnProperty区别详解
Aug 04 #Javascript
JavaScript hasOwnProperty() 函数实例详解
Aug 04 #Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
Aug 04 #Javascript
Angular实现响应式表单
Aug 04 #Javascript
JS 实现banner图片轮播效果(鼠标事件)
Aug 04 #Javascript
You might like
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
PHP插入排序实现代码
2013/04/04 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
jQuery 学习 几种常用方法
2009/06/11 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
JavaScript制作弹出层效果
2016/12/02 Javascript
通过jsonp获取json数据实现AJAX跨域请求
2017/01/22 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
BootStrap表单验证 FormValidation 调整反馈图标位置的实例代码
2017/05/17 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
html5配合css3实现带提示文字的输入框(摆脱js)
2013/03/08 HTML / CSS
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
华为python面试题
2016/05/03 面试题
升职自荐信范文
2013/10/05 职场文书
车间工艺员岗位职责
2013/12/09 职场文书
幼儿园大班毕业教师寄语
2014/04/03 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
教师党员承诺书2015
2015/01/21 职场文书
基于Python实现将列表数据生成折线图
2022/03/23 Python