微信小程式開發之圖片等比例縮放 獲取螢幕尺寸圖片尺寸 自適應
早上在論壇上看到有人寫了關於圖片等比例縮放的文章,只是判斷了圖片寬是否大於螢幕寬.我之前在做Android的時候也會遇到圖片等比例縮放的問題.應該是用圖片寬高比和螢幕寬高比做判斷.做個筆記.
老規矩,先上圖.
1.圖片高寬比小於螢幕高寬比
2.圖片高寬比大於螢幕高寬比
3.這種其實也是圖片高寬比小於螢幕高寬比,但是高寬都大於螢幕高寬.所以不能簡單用高寬來判斷,應該是用高寬比判斷後做縮放.
上程式碼:
1.index.wxml
<!--index.wxml--> <!--圖片寬大於螢幕寬--> <image style="width: {{imagewidth}}px; height: {{imageheight}}px;" src="{{imagefirstsrc}}" bindload="imageLoad"></image> <!--圖片高大於螢幕高--> <!--<image style="width: {{imagewidth}}px; height: {{imageheight}}px;" src="{{imagesecondsrc}}" bindload="imageLoad"></image>--> <!--圖片寬高大於螢幕寬高--> <!--<image style="width: {{imagewidth}}px; height: {{imageheight}}px;" src="{{imagethirdsrc}}" bindload="imageLoad"></image>-->
2.index.js
//index.js //獲取應用例項 var imageUtil = require('../../utils/util.js'); var app = getApp() Page({ data: { imagefirstsrc: 'http://bpic.588ku.com/back_pic/00/03/85/1656205138bbe2d.png',//圖片連結 imagesecondsrc: 'http://bpic.588ku.com/back_pic/04/07/63/28581203949ca9d.jpg!/fw/400/quality/90/unsharp/true/compress/true',//圖片連結 imagethirdsrc:'http://img1.gtimg.com/ent/pics/hv1/13/71/2061/134034643.jpg', imagewidth: 0,//縮放後的寬 imageheight: 0,//縮放後的高 }, onLoad: function () { }, imageLoad: function (e) { var imageSize = imageUtil.imageUtil(e) this.setData({ imagewidth: imageSize.imageWidth, imageheight: imageSize.imageHeight }) } })
3.util.js
我的部落格:http://blog.csdn.net/qq_31383345//util.js function imageUtil(e) { var imageSize = {}; var originalWidth = e.detail.width;//圖片原始寬 var originalHeight = e.detail.height;//圖片原始高 var originalScale = originalHeight/originalWidth;//圖片高寬比 console.log('originalWidth: ' + originalWidth) console.log('originalHeight: ' + originalHeight) //獲取螢幕寬高 wx.getSystemInfo({ success: function (res) { var windowWidth = res.windowWidth; var windowHeight = res.windowHeight; var windowscale = windowHeight/windowWidth;//螢幕高寬比 console.log('windowWidth: ' + windowWidth) console.log('windowHeight: ' + windowHeight) if(originalScale < windowscale){//圖片高寬比小於螢幕高寬比 //圖片縮放後的寬為螢幕寬 imageSize.imageWidth = windowWidth; imageSize.imageHeight = (windowWidth * originalHeight) / originalWidth; }else{//圖片高寬比大於螢幕高寬比 //圖片縮放後的高為螢幕高 imageSize.imageHeight = windowHeight; imageSize.imageWidth = (windowHeight * originalWidth) / originalHeight; } } }) console.log('縮放後的寬: ' + imageSize.imageWidth) console.log('縮放後的高: ' + imageSize.imageHeight) return imageSize; } module.exports = { imageUtil: imageUtil }
相關推薦
微信小程式開發之圖片等比例縮放 獲取螢幕尺寸圖片尺寸 自適應
早上在論壇上看到有人寫了關於圖片等比例縮放的文章,只是判斷了圖片寬是否大於螢幕寬.我之前在做Android的時候也會遇到圖片等比例縮放的問題.應該是用圖片寬高比和螢幕寬高比做判斷.做個筆記. 老規矩,
微信小程式開發之使用者系統 一鍵登入 獲取session_key和openid
思來想去不願自己的微信小程式是個單機版本.自己又不會寫後臺.現在藉助leancloud可以實現微信小程式一鍵登入功能.嘗試後,做筆記. 第二步:使用 const AV = require('../.
微信小程式開發之圖片上傳+Java服務端接收 好不好使有待確認
閒言少敘直入正題存放路徑:/root/apache-tomcat-8.5.30/webapps/images/xxx.jpg前端程式碼在網上一搜一大堆,且搜出來的結果基本上是正確的,沒啥好說的,我連程式碼都不想貼(如果有時間的話明天整理下貼在文章結尾,沒時間的話就不貼了)。但是,但是,但是,靠譜的,不用改動就
微信小程式開發之小米商城(一)
小程式開發之小米商城Lite 剛接觸小程式不久,感覺相對來說比較簡單,就自己花了五六天做了一個專案,因為本身也是米粉,就看中了小米的微信小程式(可憐國慶擼了幾天的程式碼,哈哈),話不多說,先上效果圖吧。 算了算了。本來還打算上gif圖,但是太難搞了,說明一下吧。
微信小程式開發之rpx 的使用說明
最近正著手開發微信小程式,才發現自己差的還是有點遠的。因為在之前的工作中,也都是在閒魚時間通過瀏覽官網api,寫點簡單的demo#hello world#。當我真正去使用它開發專案時,才發現其奧祕頗深。
微信小程式開發之SSL證書相關問題
最重要的放最上面:阿里雲CDN 使用的是 Nginx (.crt為證書,.key為私鑰) 阿里雲證書格式說明地址 ssl證書其實本站有很多相關的文章,但是沒有針對ssl證書做過專門的說明,最近發現,還是有很多同學,困擾在這個地方;所以特整理一些有用的知識放在
微信小程式開發之路上遇到的那些坑
微信野心越來越大,如今已經從開始簡單的聊天工具發展成了一個網際網路生態系統,網羅了目前各大網際網路平臺所具備的功能,最近iOS端微信上線的“搜一搜”和“看一看”更加證實了這一點,直接看下面這張圖吧: 好了,今天繼續給大家分享這個牛逼的“削蘋果”的小程式的相
微信小程式開發之返回重新整理
小程式返回是不會重新重新整理頁面的,因此要事件控制才能人為重新整理頁面 前提:假設是a頁面 跳轉到 b頁面,在b頁面修改後返回 a頁面,要使得a頁面中相關資料進行重新整理 首先,我們在a頁面中寫一個
微信小程式開發之get請和post請求的兩種用法
我們在開發微信小程式,需要進行資料請求,這裡只有get和post兩種.get請求,如下圖 但是呢,在很多情況下光只有get請求是不行的,還必須要有post請求,那麼post請求怎麼寫呢,如下圖 這
微信小程式開發之城市選擇器 城市切換
移動開發中城市選擇器必不可少. 空白造了個. gif: 這裡只上部分js程式碼: var city = require('../../utils/city.js'); //歡迎關注:http://www.wxapp-union.com/portal.php //
微信小程式開發之頁面分享 onShareAppMessage 分享引數用處
今天下午突然聽到群裡有人說微信小程式工具更新了,文件也更新了不少內容. 顧不上吃冬至的餃子.我就衝進來了. 先說分享功能,目前真機尚不能除錯.開發工具上可以看看效果.後續還會更新. Pag
微信小程式開發之五星評分
一位同學說要寫五星評分.要有半顆星的評分. 於是我做了個玩具.有空了做模組化,這程式碼看不下去了. gif: 程式碼: 1.index.wxml <block wx:for="{{s
微信小程式開發之左滑修改、刪除功能
wxml: <view class="offer-item" wx:for-items='{{offerList}}'> <!--這裡綁定了剛才說的3個函式分別為 touchS,touchM touchE--> &l
微信小程式開發之不能使用eval函式的問題
一 eval函式問題 JavaScript中的eval函式是頗受開發者爭議的問題之一,問題主要在於其可能導致的不安全性。有關此方面問題,在此不再贅述,讀者可能很容易地瀏覽到許多介紹性文章。 但是,eval函式的優點也是很明顯的。例如,使用JS編寫一個計算器程式,在遇到"2+
微信小程式開發之動畫 Animation 放大 透明度
突發奇想,做個錄音的模組,結果折騰到一點鐘,還在做話筒的動畫. 最後發現微信還有bug,我也是醉了.有空再接著敲. 先上gif: 這還沒完成,做完之後應該是水波紋的樣子.無奈函式執行多次,動畫只執
微信小程式開發之網路請求(POST請求)
微信小程式開發中網路請求必不可少.GET.POST請求是最常用的.GET請求 POST請求的時候有好幾個坑.我已經為大家填好了. <img src="https://img-blog.csd
微信小程式開發之資料請求載入
開發中不可避免會與後臺進行多條、多次的資料傳遞,那我們該如何來將這部分的資料載入進行公共方法進行呼叫呢,下面就直接上程式碼啦~ loadList: function (event) { if
微信小程式開發之網路請求(GET請求)
微信小程式開發中網路請求必不可少,今天說說最簡單的請求.後續會嘗試上傳下載,Socket這些. 1.一個微信小程式,同時只能有5個網路請求連線。 這個規定應該是微信為了保證使用者體驗制定的,畢竟是小程
微信小程式開發之電影預告
一、小程式支援的標籤1、view:div和view都是盒模型,預設display:block。盒模型在佈局過程中,一般推薦display:flex的寫法,配合justify-content:center;align-items:center;的定義實現盒模型在橫向和縱向的居中。2、text:除了text文字節
微信小程式開發之獲取openid及使用者資訊
1. 獲取openid 1.1 獲取code 呼叫介面獲取登入憑證(code)進而換取使用者登入態資訊,包括使用者的唯一標識(openid) 及本次登入的會話金鑰(session_key)。使用者資料的加解密通訊需要依賴會話金鑰完成。 wx.login({ //獲