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


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 相关文章推荐
URL编码转换,escape() encodeURI() encodeURIComponent()
Dec 27 Javascript
写了一个layout,拖动条连贯,内容区可为iframe
Aug 19 Javascript
javascript jscroll模拟html元素滚动条
Dec 18 Javascript
javascript设置金额样式转换保留两位小数示例代码
Dec 04 Javascript
javascript 实现 原路返回
Jan 21 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
Jun 06 Javascript
js 动态给元素添加、移除事件的实现方法
Jul 19 Javascript
AngularJs Injecting Services Into Controllers详解
Sep 02 Javascript
Node.js中的http请求客户端示例(request client)
May 04 Javascript
Node.js+Express+Mysql 实现增删改查
Apr 03 Javascript
微信小程序webview 脚手架使用详解
Jul 22 Javascript
小程序实现密码输入框
Nov 16 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
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
PHP伪静态Rewrite设置之APACHE篇
2014/07/30 PHP
PHP创建word文档的方法(平台无关)
2016/03/29 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
Laravel实现表单提交
2017/05/07 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
网页图片延时加载的js代码
2010/04/22 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
详解vue指令与$nextTick 操作DOM的不同之处
2018/08/02 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
python删除过期文件的方法
2015/05/29 Python
Django小白教程之Django用户注册与登录
2016/04/22 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
Django中的cookie和session
2019/08/27 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
Python Socket TCP双端聊天功能实现过程详解
2020/06/15 Python
Python包和模块的分发详细介绍
2020/06/19 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
C语言中break与continue的区别
2012/07/12 面试题
社团活动总结
2014/04/28 职场文书
旅行社优秀创业计划书
2014/08/16 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
文明倡议书
2015/01/19 职场文书
国庆节慰问信
2015/02/15 职场文书
2016年感恩节寄语
2015/12/07 职场文书