W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
解釋:把當(dāng)前畫布指定區(qū)域的內(nèi)容導(dǎo)出生成指定大小的圖片,并返回文件路徑。在自定義組件下,第二個(gè)參數(shù)傳入組件實(shí)例this,以操作組件內(nèi)<canvas/>組件。
Object object
屬性名 | 類型 | 必填 | 默認(rèn)值 | 說(shuō)明 |
---|---|---|---|---|
x | Number | 否 | 0 | 指定的畫布區(qū)域的左上角橫坐標(biāo) |
y | Number | 否 | 0 | 指定的畫布區(qū)域的左上角縱坐標(biāo) |
width | Number | 否 | canvas 寬度 -x | 指定的畫布區(qū)域的寬度 |
height | Number | 否 | canvas 高度 -y | 指定的畫布區(qū)域的高度 |
destWidth | Number | 否 | width * 屏幕像素密度 | 輸出圖片寬度 |
destHeight | Number | 否 | height * 屏幕像素密度 | 輸出圖片高度 |
canvasId | String | 是 | 畫布標(biāo)識(shí),傳入 | |
fileType | String | 否 | png | 目標(biāo)文件的類型,有效值只支持 'jpg' 或 'png' 。 |
quality | Number | 否 | 圖片的質(zhì)量,取值范圍為 (0, 1],不在范圍內(nèi)時(shí)當(dāng)作 1.0 處理。 | |
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) | |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) | |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
代碼示例 1
請(qǐng)使用2.7.0-beta 及其以上版本進(jìn)行預(yù)覽,正式版將在 2.6.1 以上版本支持。
<canvas canvas-id="myCanvas" />
<button type="primary" bindtap="canvasToTempFilePath">canvasToTempFilePath</button>
<image src="{{src}}"></image>
Page({
data: {
src: ''
},
onLoad() {
const canvasContext = this.createCanvasContext('myCanvas');
canvasContext.setFillStyle('#ff0000');
canvasContext.arc(100, 50, 50, 0, 2 * Math.PI);
canvasContext.fill();
canvasContext.draw();
},
canvasToTempFilePath() {
swan.canvasToTempFilePath({
x: 0,
y: 0,
width: 300,
height: 225,
destWidth: 300,
destHeight: 225,
canvasId: 'myCanvas',
fileType: 'jpg',
quality: 1,
success: res => {
this.setData('src', res.tempFilePath);
swan.showModal({
title: '圖片路徑',
content: JSON.stringify(res.tempFilePath)
})
}
})
}
})
代碼示例 2:在 draw 中使用
請(qǐng)使用 2.19.0-rc 及其以上版本進(jìn)行預(yù)覽,正式版將在 2.18.1(不包括 2.18.1 )以上版本支持。
<canvas canvas-id="myCanvas" />
<image src="{{src}}"></image>
Page({
data: {
src: ''
},
onLoad() {
const canvasContext = this.createCanvasContext('myCanvas');
canvasContext.setFillStyle('#ff0000');
canvasContext.arc(100, 50, 50, 0, 2 * Math.PI);
canvasContext.fill();
canvasContext.draw(() =>{
swan.canvasToTempFilePath({
x: 0,
y: 0,
width: 300,
height: 225,
destWidth: 300,
destHeight: 225,
canvasId: 'myCanvas',
fileType: 'jpg',
quality: 1,
success: res => {
this.setData('src', res.tempFilePath);
swan.showModal({
title: '圖片路徑',
content: JSON.stringify(res.tempFilePath)
})
}
})
});
}
});
錯(cuò)誤碼 | 說(shuō)明 |
---|---|
201 | 解析失敗,請(qǐng)檢查調(diào)起協(xié)議是否合法。 |
1001 | 執(zhí)行失敗 |
錯(cuò)誤碼 | 說(shuō)明 |
---|---|
202 | 解析失敗,請(qǐng)檢查參數(shù)是否正確。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: