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


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 相关文章推荐
关于B/S判断浏览器断开的问题讨论
Oct 29 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
Aug 23 Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
Aug 14 Javascript
javascript实现当前页导航激活的方法
Feb 27 Javascript
Angular中$cacheFactory的作用和用法实例详解
Aug 19 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
Sep 22 Javascript
Three.js实现浏览器变动时进行自适应的方法
Sep 26 Javascript
详解Node.js中的Async和Await函数
Feb 22 Javascript
Bootstrap 按钮样式与使用代码详解
Dec 09 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
Nov 05 Javascript
微信小程序实现一个简单swiper代码实例
Dec 30 Javascript
如何使用JavaScript策略模式校验表单
Apr 29 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
PHP eval函数使用介绍
2013/12/08 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
Node.js与PHP、Python的字符处理性能对比
2014/07/06 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
2019/07/25 jQuery
js的新生代垃圾回收知识点总结
2019/08/22 Javascript
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
JS控制只能输入数字并且最多允许小数点两位
2019/11/24 Javascript
python数据结构之二叉树的遍历实例
2014/04/29 Python
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
python--shutil移动文件到另一个路径的操作
2020/07/13 Python
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
Ruby如何进行文件操作
2014/07/17 面试题
医学实习生自我鉴定
2013/12/12 职场文书
学生鉴定评语大全
2014/05/05 职场文书
中药学专业求职信
2014/05/31 职场文书
毕业设计致谢语
2015/05/14 职场文书
爱岗敬业先进典型事迹材料(2016推荐版)
2016/02/26 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB
Flink 侧流输出源码示例解析
2022/09/23 Servers