小程序模板網(wǎng)

canvas中drawImage理解,image圖片自適應(yīng)寬度比例顯示的方法

發(fā)布時(shí)間:2018-04-18 10:13 所屬欄目:小程序開發(fā)教程

作者:漢堡請不要欺負(fù)面條,授權(quán)地址

 

一:image圖片自適應(yīng)寬度比例顯示的方法

一.了解image組件 

由于image有默認(rèn)的固定的寬度和高度,這樣我們在做圖片自適應(yīng)的時(shí)候,就不好做了。下面就來一起解決下

二.方法 
(一).使用mode:widthFix 
widthFix:寬度不變,高度自動(dòng)變化,保持原圖寬高比不變。 
首先我們先設(shè)置image的mode為widthFix,然后給圖片加一個(gè)固定rpx的寬度,比如:730rpx。 
這樣圖片也可以自適應(yīng)了。。因?yàn)樾〕绦虻膔px本身就是一個(gè)自適應(yīng)顯示的單位

(二).使用bindload綁定函數(shù)動(dòng)態(tài)自適應(yīng)。 
我們可以給image綁定一個(gè)函數(shù),這個(gè)函數(shù),如上面的bindload說明一樣,我們可以獲取到原圖的寬度和高度。 
然后計(jì)算他們的寬高比率。。然后設(shè)置一個(gè)寬度大?。╮px),最后通過style動(dòng)態(tài)設(shè)置image的寬高。代碼如下: 
1..編寫頁面結(jié)構(gòu)index.wxml:

 

  1. <image src="../uploads/2.jpg" bindload="imageLoad"
  2. style="width:{{imgwidth}}rpx; height:{{imgheight }}rpx;"></image>

2.設(shè)置數(shù)據(jù)index.js

 

  1. //獲取應(yīng)用實(shí)例
  2. var app = getApp()
  3. Page({
  4. data: {
  5. screenWidth: 0,
  6. screenHeight:0,
  7. imgwidth:0,
  8. imgheight:0,
  9. },
  10. onLoad: function() {
  11. var _this = this;
  12. wx.getSystemInfo({
  13. success: function(res) {
  14. _this.setData({
  15. screenHeight: res.windowHeight,
  16. screenWidth: res.windowWidth,
  17. });
  18. }
  19. });
  20.  
  21. },
  22. imageLoad: function(e) {
  23. var _this=this;
  24. var $width=e.detail.width, //獲取圖片真實(shí)寬度
  25. $height=e.detail.height,
  26. ratio=$width/$height; //圖片的真實(shí)寬高比例
  27. var viewWidth=500, //設(shè)置圖片顯示寬度,
  28. viewHeight=500/ratio; //計(jì)算的高度值
  29. this.setData({
  30. imgwidth:viewWidth,
  31. imgheight:viewHeight
  32. })
  33. }
  34. })

 

二:drawImage理解

一.drawImage參數(shù)

  二.使用案例  1.上傳圖片時(shí): chooseImage是調(diào)用相機(jī)和手機(jī)相冊的接口 

  2.繪制指定的圖片(圖片直接在小程序的images文件夾中)

 

  1. const ctx = wx.createCanvasContext('myCanvas');
  2. ctx.drawImage('../uploads/foods.jpg', 0, 0, 150, 100);
  3. ctx.draw();


本文地址:http://22321a.com/wxmini/doc/course/23639.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢