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


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+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
Feb 25 Javascript
event对象获取方法总结在google浏览器下测试
Nov 03 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
JS获取select的value和text值的简单实例
Feb 26 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
Mar 07 Javascript
Javascript实现跑马灯效果的简单实例
May 31 Javascript
AngularJS基础 ng-include 指令简单示例
Aug 01 Javascript
引用jquery框架后出错的解决方法
Aug 09 Javascript
create-react-app修改为多页面支持的方法
May 17 Javascript
详解React中setState回调函数
Jun 14 Javascript
js 实现在2d平面上画8的方法
Oct 10 Javascript
js实现指定时间倒计时效果
Aug 26 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
SSI指令
2006/11/25 PHP
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
php 字符串替换的方法
2012/01/10 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
JS 日期验证正则附asp日期格式化函数
2009/09/11 Javascript
jquery easyui的tabs使用时的问题
2010/03/23 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
Javascript中的 “&amp;” 和 “|” 详解
2017/02/02 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
Vuex入门到上手教程
2018/06/20 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
Node.js中的异步生成器与异步迭代详解
2021/01/31 Javascript
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
Python def函数的定义、使用及参数传递实现代码
2014/08/10 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
pandas ix &amp;iloc &amp;loc的区别
2019/01/10 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
智能旅行箱:Horizn Studios
2018/04/30 全球购物
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
英文求职信写作小建议
2014/02/16 职场文书
ktv总经理岗位职责
2014/02/17 职场文书
个人公开承诺书
2014/03/28 职场文书
教师年度考核评语
2014/04/28 职场文书
国旗下的演讲稿
2014/05/08 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书