欧美日韩国产一区,亚洲一区视频,色综合久久久久,私密按摩师舌头伸进去了,99re6这里只有精品,夜夜性日日交xxx性hd

canvas畫布API

本文編輯: JeremyLu JeremyLu瀏覽 4737 版權所有,嚴禁轉載

接口說明:

<canvas />組件只能提供圖像顯示容器,不具備繪制能力,所以還需要使用腳本來完成實際的繪圖任務,交由以下三個canvas API完成。

接口 說明
wx.createContext() 創建并返回繪圖上下文context對象
wx.drawCanvas(OBJECT) 繪制畫布
wx.canvasToTempFilePath(OBJECT) 把當前canvas上的內容保存為圖片

wx.createContext()創建并返回一個context上下文對象,用于記錄繪制操作,并返回actions數組,交給wx.drawCanvas(OBJECT)綁定<canvas />組件,并將actions繪制在<canvas />組件上;如果想將圖像保存為圖片,調用wx.canvasToTempFilePath(OBJECT)接口。

接口用法:

  • wx.drawCanvas繪制接口

參數 類型 說明
canvasId String 畫布標識,傳入<canvas />的canvas-id
actions Array 繪圖動作數組,由 wx.createContext 創建的 context,調用 getActions 方法導出繪圖動作數組。
reserve Boolean 本次繪制是否接著上一次繪制,即reserve參數為false,則在本次調用drawCanvas繪制之前native層應先清空畫布再繼續繪制;若reserver參數為true,則保留當前畫布上的內容,本次調用drawCanvas繪制的內容覆蓋在上面,默認 false

wxml

<canvas canvas-id="canvas" ></canvas>

js

var context = wx.createContext()
wx.drawCanvas({
    canvasId: 'canvas',
    actions: context.getActions()
})
  • wx.createContext接口返回對象的方法列表:

方法 說明
getActions 返回繪制操作記錄actions數組
clearActions 清空context繪制操作記錄
scale 橫縱坐標會被縮放
rotate 以原點為中心,順時針旋轉當前坐標軸
translate 對當前坐標系的原點(0, 0)進行變換,默認的坐標系原點為頁面左上角。
save 保存當前坐標軸的縮放、旋轉、平移信息
restore 恢復之前保存過的坐標軸的縮放、旋轉、平移信息
clearRect 在給定的矩形區域內,清除畫布上的像素
fillText 在畫布上繪制被填充的文本
drawImage 在畫布上繪制圖像
fill 對當前路徑進行填充
stroke 對當前路徑進行描邊
beginPath 開始一個路徑
closePath 關閉一個路徑
moveTo 把路徑移動到畫布中的指定點,但不創建線條
lineTo 添加一個新點,然后在畫布中創建從該點到最后指定點的線條
rect 添加一個矩形路徑到當前路徑
arc 添加一個弧形路徑到當前路徑,順時針繪制
quadraticCurveTo 創建二次方貝塞爾曲線
bezierCurveTo 創建三次方貝塞爾曲線
setFillStyle 設置填充樣式
setStrokeStyle 設置線條樣式
setGlobalAlpha 設置全局畫筆透明度
setShadow 設置陰影
setFontSize 設置字體大小
setLineCap 設置線條端點的樣式
setLineJoin 設置兩線相交處的樣式
setLineWidth 設置線條寬度
setMiterLimit 設置最大傾斜

canvas縮放、旋轉、平移

wxml

<canvas canvas-id="canvas_scale"></canvas>
<canvas canvas-id="canvas_rotate"></canvas>
<canvas canvas-id="canvas_translate"></canvas>

js

onReady:function(){
    var context = wx.createContext()
    context.rect(5, 5, 30, 30)
    context.stroke()
    //縮放
    context.scale(2,2)
    context.stroke()
    context.scale(2,2)
    context.stroke()
    wx.drawCanvas({
      canvasId: 'canvas_scale',
      actions: context.getActions()
    })
    context.clearActions()

    context.rect(30, 30, 100, 100)
    context.stroke()
    //旋轉
    context.rotate(0.15)
    context.stroke()
    wx.drawCanvas({
      canvasId: 'canvas_rotate',
      actions: context.getActions()
    })
    context.clearActions()

    context.rect(30, 30, 100, 100)
    context.stroke()
    //平移
    context.translate(10, 10)
    context.stroke()
     wx.drawCanvas({
      canvasId: 'canvas_translate',
      actions: context.getActions()
    })
  }

wxss

canvas{
    border: 1px solid #E0E0E0;
    margin-top: 10px;
}

canvas繪制

wxml

<canvas canvas-id="canvas1"></canvas>
<canvas canvas-id="canvas2"></canvas>

js

onReady:function(){
    var context = wx.createContext()
    context.rect(15, 15, 100, 100)
    context.fill()
    context.stroke()
    //清除指定范內的像素
    context.clearRect(25, 25, 80, 80)
    //顯示文字
    context.fillText('Text', 40, 40)
    wx.drawCanvas({
        canvasId: 'canvas1',
        actions: context.getActions()
    })
    context.clearActions()
    //顯示圖片
    wx.chooseImage({
      success: function(res) {
        context.drawImage(res.tempFilePaths[0], 0, 0)
        wx.drawCanvas({
          canvasId: 'canvas2',
          actions: context.getActions()
        })
      }
    })
  }

wxss

canvas{
    border: 1px solid lightgray;
    margin-top: 10px;
}

canvas路徑

wxml

<canvas canvas-id="canvas1"></canvas>

js

onReady:function(){
    // 使用 wx.createContext 獲取繪圖上下文 context
    var context = wx.createContext()

    context.setStrokeStyle("#00ff00")
    context.setLineWidth(5)
    context.rect(0, 0, 200, 200)
    context.stroke()
    context.setStrokeStyle("#ff0000")
    context.setLineWidth(2)
    context.moveTo(160, 100)
    context.arc(100, 100, 60, 0, 2 * Math.PI, true)
    context.moveTo(140, 100)
    context.arc(100, 100, 40, 0, Math.PI, false)
    context.moveTo(85, 80)
    context.arc(80, 80, 5, 0, 2 * Math.PI, true)
    context.moveTo(125, 80)
    context.arc(120, 80, 5, 0, 2 * Math.PI, true)
    context.stroke()
    wx.drawCanvas({
      canvasId: 'canvas1',
      actions: context.getActions()
    })
  }

wxss

canvas{
    height: 500px;
}

canvas樣式

wxml

<canvas canvas-id="canvas1"></canvas>
<button type="default" size="default" bindtap="saveas">另存</button>

js

onReady:function(){
    var context = wx.createContext()

    context.setFillStyle("#FF00FF")
    context.setStrokeStyle("#00FFFF")
    context.setGlobalAlpha(1)
    context.setShadow(10,10,10, '#000000')
    context.setFontSize(18)
    context.setLineWidth(3)
    context.setLineCap('round');
    context.setLineJoin('round')
    context.rect(50, 50, 100, 100)
    context.fill()
    context.stroke()
    wx.drawCanvas({
      canvasId: 'canvas1',
      actions: context.getActions()
    })
  },
  //canvas另存為圖片
  saveas: function(e){
    wx.canvasToTempFilePath({
      canvasId: 'canvas1',
      success: function(res){
        console.log(res.tempFilePath)
      }
  }

主要方法

scale:縮放

在調用scale方法后,之后創建的路徑其橫縱坐標會被縮放。多次調用scale,倍數會相乘。

參數 類型 描述
scaleWidth Number 橫坐標縮放的倍數,scaleWidth在0~1表示縮小,scaleWidth>1表示放大
scaleHeight Number 縱坐標軸縮放的倍數,scaleHeight在0~1表示縮小,scaleHeight>1表示放大

rotate:旋轉

以原點為中心,原點可以用 translate方法修改。順時針旋轉當前坐標軸。多次調用rotate,旋轉的角度會疊加。

參數 類型 描述
rotate Number 旋轉角度,以弧度計;degrees * Math.PI/180;degrees范圍為0~360

translate:平移

對當前坐標系的原點(0, 0)進行變換,默認的坐標系原點為頁面左上角。

參數 類型 描述
x Number 水平坐標平移量
y Number 豎直坐標平移量

clearRect:清除指定區域內容

清除畫布上在該矩形區域內的內容。

參數 類型 描述
x Number 矩形區域左上角的x坐標
y Number 矩形區域左上角的y坐標
width Number 矩形區域的寬度
height Number 矩形區域的高度

drawImage:繪制圖像

繪制圖像,圖像保持原始尺寸。

參數 類型 描述
imageResource String 所要繪制的圖片資源;通過chooseImage得到一個文件路徑或者一個項目目錄內的圖片
x Number 圖像左上角的x坐標
y Number 圖像左上角的y坐標
width Number 圖像寬度
height Number 圖像高度

fillText:填充文本

在畫布上繪制被填充的文本

參數 類型 描述
text String 在畫布上輸出的文本
x Number 繪制文本的左上角x坐標位置
y Number 繪制文本的左上角y坐標位置

beginPath

開始創建一個路徑,需要調用fill或者stroke才會使用路徑進行填充或描邊。同一個路徑內的多次setFillStyle、setStrokeStyle、setLineWidth等設置,以最后一次設置為準。

closePage

關閉一個路徑。

moveTo

把路徑移動到畫布中的指定點,不創建線條。

參數 類型 描述
x Number 目標位置的x坐標
y Number 目標位置的y坐標

lineTo

在當前位置添加一個新點,然后在畫布中創建從該點到最后指定點的路徑。

參數 類型 描述
x Number 目標位置的x坐標
y Number 目標位置的y坐標

rect:添加矩形

添加一個矩形路徑到當前路徑。

參數 類型 描述
x Number 矩形路徑左上角的x坐標
y Number 矩形路徑左上角的y坐標
width Number 矩形路徑的寬度
height Number 矩形路徑的高度

arc:畫圓

添加一個弧形路徑到當前路徑,順時針繪制。

參數 類型 描述
x Number 矩形路徑左上角的x坐標
y Number 矩形路徑左上角的y坐標
radius Number 矩形路徑的寬度
startAngle Number 起始弧度
sweepAngle Number 從起始弧度開始,掃過的弧度

quadraticCurveTo:二次貝塞爾曲線

創建二次貝塞爾曲線路徑

參數 類型 描述
cpx Number 貝塞爾控制點的x坐標
cpy Number 貝塞爾控制點的y坐標
x Number 矩形路徑左上角的x坐標
y Number 矩形路徑左上角的y坐標

bezierCurveTo:三次方貝塞爾曲線

創建三次方貝塞爾曲線路徑

參數 類型 描述
cp1x Number 第一個貝塞爾控制點的 x 坐標
cp1y Number 第一個貝塞爾控制點的 y 坐標
cp2x Number 第二個貝塞爾控制點的 x 坐標
cp2y Number 第二個貝塞爾控制點的 y 坐標
x Number 矩形路徑左上角的x坐標
y Number 矩形路徑左上角的y坐標

setFillStyle:設置顏色為填充樣式

參數 類型 描述
color String 設置為填充樣式的顏色;’rgb(255, 0, 0)’或’rgba(255, 0, 0, 0.6)’或’#ff0000’格式的顏色字符串

setStrokeStyle:設置純色描邊

參數 類型 描述
color String 設置純色描邊;’rgb(255, 0, 0)’或’rgba(255, 0, 0, 0.6)’或’#ff0000’格式的顏色字符串

setGlobalAlpha

置全局畫筆透明度。

參數 類型 描述
alpha Number 透明度,0 表示完全透明,1 表示完全不透明

setShadow:陰影

設置陰影樣式

參數 類型 描述
offsetX Number 陰影相對于形狀在水平方向的偏移
offsetY Number 陰影相對于形狀在豎直方向的偏移
blur Number 陰影的模糊級別,數值越大越模糊;0~100
color Color 陰影的顏色;’rgb(255, 0, 0)’或’rgba(255, 0, 0, 0.6)’或’#ff0000’格式的顏色字符串

setFontSize:字號

設置字體的字號。

參數 類型 描述
fontSize Number 字體的字號

setLineWidth:線寬

設置線條的寬度

參數 類型 描述
lineWidth Number 線條的寬度

setLineCap

設置線條的結束端點樣式。

參數 類型 描述
lineCap String 線條的結束端點樣式;取值范圍’butt’、’round’、’square’

setLineJoin

設置兩條線相交時,所創建的拐角類型。

參數 類型 描述
lineJoin String 兩條線相交時,所創建的拐角類型;取值范圍’bevel’、’round’、’miter’

setMiterLimit

設置最大斜接長度,斜接長度指的是在兩條線交匯處內角和外角之間的距離。 當 setLineJoin為 miter 時才有效。超過最大傾斜長度的,連接處將以 lineJoin 為 bevel 來顯示。

參數 類型 描述
miterLimit Number 最大斜接長度


  • wx.canvasToTempFilePath圖片另存

wxml

<canvas canvas-id="canvas1"></canvas>
<button type="default" size="default" bindtap="saveas">另存</button>

js

saveas: function(e){
    wx.canvasToTempFilePath({
      canvasId: 'canvas1',
      success: function(res){
        console.log(res.tempFilePath)
      }
}

主要方法:

參數 描述
canvasId 畫布標識,傳入<canvas />的 canvas-id

相關鏈接:

如有技術問題或對本文有反饋,請加入QQ群:
微信小程序實戰5營: 微信小程序Club實戰5營