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


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 form action动态修改方法
Nov 04 Javascript
Javascript日期对象的dateAdd与dateDiff方法
Nov 18 Javascript
jquery选择器、属性设置用法经验总结
Sep 08 Javascript
js整数字符串转换为金额类型数据(示例代码)
Dec 26 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
Feb 13 Javascript
window.location的重写及判断location是否被重写
Sep 04 Javascript
jquery中trigger()无法触发hover事件的解决方法
May 07 Javascript
JavaScript中对象的不同创建方法
Aug 12 Javascript
JSP防止网页刷新重复提交数据的几种方法
Nov 19 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
Aug 14 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
Nov 05 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
Nov 19 Vue.js
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
实现“上一页”和“下一页按钮
2006/10/09 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
php截取html字符串及自动补全html标签的方法
2015/01/15 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
asp批量修改记录的代码
2008/06/25 Javascript
javascript动态加载三
2012/08/22 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
jquery通过closest选择器修改上级元素的方法
2015/03/17 Javascript
JQuery中DOM实现事件移除的方法
2015/06/13 Javascript
微信小程序 picker-view 组件详解及简单实例
2017/01/10 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
JavaScript数组特性与实践应用深入详解
2018/12/30 Javascript
vue组件 keep-alive 和 transition 使用详解
2019/10/11 Javascript
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
转换科学计数法的数值字符串为decimal类型的方法
2018/07/16 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
python实现数据分析与建模
2019/07/11 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
户外用品商店创业计划书
2014/01/29 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
大班亲子运动会方案
2014/06/10 职场文书
会计求职自荐信
2014/06/20 职场文书
优秀团员事迹材料
2014/12/25 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书