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


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 相关文章推荐
DOM和XMLHttpRequest对象的属性和方法整理
Jan 04 Javascript
javascript中的缓动效果实现程序
Dec 29 Javascript
JavaScript中的style.display属性操作
Mar 27 Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
Aug 01 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
May 12 Javascript
JavaScript实现网页对象拖放功能的方法
Apr 15 Javascript
vue代码分割的实现(codesplit)
Nov 13 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
Nov 20 Javascript
Node.js Stream ondata触发时机与顺序的探索
Mar 08 Javascript
jquery validate 实现动态增加/删除验证规则操作示例
Oct 28 jQuery
node.js事件轮询机制原理知识点
Dec 22 Javascript
Vue中this.$nextTick的作用及用法
Feb 04 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
Yii2.0 Basic代码中路由链接被转义的处理方法
2016/09/21 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
2018/12/18 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
『jQuery』名称冲突使用noConflict方法解决
2013/04/22 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
2014/01/06 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
javascript实现行拖动的方法
2015/05/27 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
JS清除字符串中重复值的实现方法
2016/08/03 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
2017/11/22 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
微信小程序之高德地图多点路线规划过程示例详解
2021/01/18 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
python使用Matplotlib画饼图
2018/09/25 Python
python Kmeans算法原理深入解析
2019/08/23 Python
python编写简单端口扫描器
2019/09/04 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
中药专业毕业自荐书范文
2014/02/08 职场文书
优秀经理获奖感言
2014/03/04 职场文书
化工实习心得体会
2014/09/09 职场文书
欢迎新生标语2015
2015/07/16 职场文书