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


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单独获取一个checkbox看其是否被选中
Sep 22 Javascript
jQuery Ajax()方法使用指南
Nov 19 Javascript
Javascript冒泡排序算法详解
Dec 03 Javascript
js淡入淡出的图片轮播效果代码分享
Aug 24 Javascript
JavaScript面试开发常用的知识点总结
Aug 08 Javascript
IE8兼容Jquery.validate.js的问题
Dec 01 Javascript
Angular 4.x 动态创建表单实例
Apr 25 Javascript
基于vue实现swipe分页组件实例
May 25 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
Jun 26 Javascript
vue按需加载组件webpack require.ensure的方法
Dec 13 Javascript
浅谈react-router@4.0 使用方法和源码分析
Jun 04 Javascript
vue.js实现只能输入数字的输入框
Oct 19 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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
PHP学习资料汇总与网址
2007/03/16 PHP
PHP安全技术之 实现php基本安全
2010/09/04 PHP
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
浅谈javascript中的三种弹窗
2016/10/21 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
[02:27]2018DOTA2亚洲邀请赛趣味视频之钓鱼大赛 谁是垂钓冠军?
2018/04/05 DOTA
[01:57]2018年度DOTA2最具潜力解说-完美盛典
2018/12/16 DOTA
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
Python简单的制作图片验证码实例
2017/05/31 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
python爬虫之线程池和进程池功能与用法详解
2018/08/02 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
html5跳转小程序wx-open-launch-weapp踩坑
2020/12/02 HTML / CSS
大气污染防治方案
2014/05/19 职场文书
环境卫生标语
2014/06/09 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
巾帼标兵事迹材料
2014/12/26 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书
英雄儿女观后感
2015/06/09 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
Vue h函数的使用详解
2022/02/18 Vue.js