小程序模板網(wǎng)

微信小程序本地圖片處理--按屏幕尺寸插入圖片

發(fā)布時(shí)間:2017-12-28 15:09 所屬欄目:小程序開(kāi)發(fā)教程

個(gè)人感覺(jué)微信小程序的IDE用起來(lái)有時(shí)候不太方便,可能是之前用慣了Eclipse的原因吧。微信小程序的開(kāi)發(fā)工具不支持直接將文件拷貝到目錄下,所以首先要將圖片文件導(dǎo)入到本地目錄下,然后編寫工具類獲取屏幕的寬度和高度 ...

 
 
 

 個(gè)人感覺(jué)微信小程序的IDE用起來(lái)有時(shí)候不太方便,可能是之前用慣了Eclipse的原因吧。微信小程序的開(kāi)發(fā)工具不支持直接將文件拷貝到目錄下,所以首先要將圖片文件導(dǎo)入到本地目錄下,然后編寫工具類獲取屏幕的寬度和高度,具體步驟如下圖。

1、本地圖片導(dǎo)入

步驟一:選擇最左側(cè)的菜單中的項(xiàng)目

 

步驟二:選擇打開(kāi)后將圖片直接拷貝到新建的image文件夾下面
圖片導(dǎo)入完成后,項(xiàng)目的整體目錄結(jié)構(gòu)如下圖所示,
2、按屏幕尺寸自適應(yīng)圖片寬和高
步驟一:編寫工具函數(shù),返回封裝后的屏幕高度和寬度

打開(kāi)根目錄下的utils文件夾下的utils.js文件,個(gè)人感覺(jué)這個(gè)類似Java里面的工具類,具體代碼如下:

 

				
  1. /**
  2. * 獲取移動(dòng)端顯示屏的寬和高,
  3. * 參數(shù):e,
  4. * return viewSize (包含顯示屏的寬和高)
  5. */
  6. function getViewWHInfo(e){
  7. var viewSize={};
  8. var originalWidth = e.detail.width;//圖片原始寬
  9. var originalHeight = e.detail.height;//圖片原始高
  10. wx.getSystemInfo({
  11. success: function (res) {
  12. //讀取系統(tǒng)寬度和高度
  13. var viewWidth = res.windowWidth;
  14. var viewHeight = res.windowHeight;
  15. console.log(originalWidth + " " + originalHeight);
  16. console.log("寬:" + viewWidth + "高" + viewHeight);
  17. viewSize.width = viewWidth;
  18. viewSize.height = viewHeight;
  19. }
  20. });
  21. return viewSize;
  22. }
  23. //導(dǎo)出接口--必須要寫
  24. module.exports = {
  25. getViewWHInfo: getViewWHInfo
  26. }

步驟二:編輯腳本文件

打開(kāi)index文件夾下的index.js文件,將原有的內(nèi)容全部刪除,并將下列代碼直接復(fù)制,首先調(diào)用require函數(shù)將工具類進(jìn)行實(shí)例化,其中data里面設(shè)置的是我們?cè)趇ndex.wxml文件中需要讀取的變量,imageLoad函數(shù)將綁定圖片加載事件bindLoad, imageUtil.getViewWHInfo(e)該句調(diào)用了上面自定義的函數(shù)。

 

				
  1. //index.js
  2. //獲取應(yīng)用實(shí)例
  3. //獲取工具類的應(yīng)用實(shí)例
  4. var imageUtil = require('../../utils/util.js');
  5. var app = getApp()
  6. Page({
  7. data:{
  8. imageUrl:"../image/1.jpg",
  9. viewHeigh:"",
  10. viewWidth:""
  11. },
  12. onLoad: function () {
  13. },
  14. imageLoad:function(e){
  15. var viewSize = imageUtil.getViewWHInfo(e);
  16. //console.log(viewSize.heigh);
  17. this.setData({
  18. viewHeigh: viewSize.height,
  19. viewWidth: viewSize.width
  20. });
  21.  
  22. }
  23. })

步驟三:編輯圖片標(biāo)簽

打開(kāi)index文件夾下的index.wxml文件,刪除原有的全部?jī)?nèi)容,將下面的圖片插入代碼直接復(fù)制粘貼,其中style表示的是標(biāo)簽的樣式,width:{{viewWidth}}表示圖片的寬度是取index.js文件中所賦的值,height和src同理,bindload事件表示該圖片加載的時(shí)候綁定了index.js文件imageLoad函數(shù),并且在圖片加載時(shí)執(zhí)行該函數(shù)。

 

				
  1. <image
  2. style="width: {{viewWidth}}px; height: {{viewHeigh}}px;" src="{{imageUrl}}" bindload="imageLoad">
  3. </image>


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開(kāi)源 碼云倉(cāng)庫(kù):starfork
本文地址:http://www.u-renovate.com/wxmini/doc/course/18282.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢
AI智能客服 ×