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


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 相关文章推荐
JAVASCRIPT keycode总结
Feb 04 Javascript
jquery ready函数源代码研究
Dec 06 Javascript
DOM 中的事件处理介绍
Jan 18 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
Jan 27 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
Dec 25 Javascript
JavaScript获取一个范围内日期的方法
Apr 24 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
Jun 01 Javascript
Vue2.0权限树组件实现代码
Aug 29 Javascript
浅析Vue自定义组件的v-model
Nov 26 Javascript
vue二级路由设置方法
Feb 09 Javascript
VueX模块的具体使用(小白教程)
Jun 05 Javascript
vue实现简单数据双向绑定
Apr 28 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
PHP获取MAC地址的函数代码
2011/09/11 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
jquery之empty()与remove()区别说明
2010/09/10 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
js获取select选中的option的text示例代码
2013/12/19 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
jQuery计算文本框字数及限制文本框字数的方法
2016/03/01 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
Json实现传值到后台代码实例
2020/06/30 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
电气专业应届生求职信
2013/11/01 职场文书
网吧收银员岗位职责
2013/12/14 职场文书
材料工程专业毕业生求职信
2014/03/04 职场文书
审计专业自荐信范文
2014/04/21 职场文书
民主评议党员总结
2014/10/20 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
童年读书笔记
2015/06/26 职场文书
谢师宴家长答谢词
2015/09/30 职场文书
2016见义勇为事迹材料汇总
2016/03/01 职场文书
《学会生存》读后感3篇
2019/12/09 职场文书
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers