W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
my.chooseImage 是拍照或從本地相冊中選擇圖片的 API。
// API-DEMO page/API/image/image.json
{
"defaultTitle": "圖片"
}
<!-- API-DEMO page/API/image/image.axml -->
<view class="page">
<view class="page-section">
<view class="page-section-btns">
<view onTap="chooseImage">選擇照片</view>
<view onTap="previewImage">預覽照片</view>
<view onTap="saveImage">保存照片</view>
</view>
</view>
</view>
// API-DEMO page/API/image/image.js
Page({
chooseImage() {
my.chooseImage({
sourceType: ['camera','album'],
count: 2,
success: (res) => {
my.alert({
content: JSON.stringify(res),
});
},
fail:()=>{
my.showToast({
content: 'fail', // 文字內(nèi)容
});
}
})
},
previewImage() {
my.previewImage({
current: 2,
urls: [
'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg',
'https://img.alicdn.com/tps/TB1pfG4IFXXXXc6XXXXXXXXXXXX.jpg',
'https://img.alicdn.com/tps/TB1h9xxIFXXXXbKXXXXXXXXXXXX.jpg'
],
});
},
saveImage() {
my.saveImage({
url: 'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg',
showActionSheet: true,
success: () => {
my.alert({
title: '保存成功',
});
},
});
}
});
Object 類型,屬性如下:
屬性 | 類型 | 必填 | 描述 |
---|---|---|---|
count | Number | 否 | 最大可選照片數(shù),默認為 1 張。 |
sizeType | StringArray | 否 | 圖片類型。original 原圖compressed 壓縮圖默認二者都有。 |
sourceType | String Array | 否 | 相冊選取或者拍照,默認 ['camera','album']。 |
success | Function | 否 | 調(diào)用成功的回調(diào)函數(shù)。 |
fail | Function | 否 | 調(diào)用失敗的回調(diào)函數(shù)。 |
complete | Function | 否 | 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)。 |
屬性 | 類型 | 描述 |
---|---|---|
apFilePaths | String Array | 圖片的路徑數(shù)組。 |
錯誤碼 | 描述 | 解決方案 |
---|---|---|
11 | 用戶取消操作。 | 這是用戶正常交互流程分支,不需要特殊處理。 |
my.compressImage 是壓縮圖片的 API。
基礎庫 1.4.0 或更高版本;支付寶客戶端 10.1.8 或更高版本 ,若版本較低,建議采取 兼容處理。
<!-- API-DEMO page/API/compress-image/compress-image.axml-->
<view class="page">
<view class="page-description">壓縮圖片 API</view>
<view class="page-section">
<view class="page-section-title">my.compressImage</view>
<view class="page-section-demo">
<button type="primary" onTap="selectImage" hover-class="defaultTap">選擇圖片</button>
<image
src="{{compressedSrc}}"
mode="{{mode}}" />
</view>
</view>
</view>
// API-DEMO page/API/compress-image/compress-image.js
Page({
data: {
compressedSrc: '',
mode: 'aspectFit',
},
selectImage() {
my.chooseImage({
count: 1,
success: (res) => {
my.compressImage({
apFilePaths: res.apFilePaths,
level: 1,
success: data => {
console.log(data);
this.setData({
compressedSrc: data.apFilePaths[0],
})
}
})
}
})
},
});
Object 類型,屬性如下:
屬性 | 類型 | 必填 | 描述 |
---|---|---|---|
apFilePaths | String Array | 是 | 要壓縮的圖片地址數(shù)組。 |
compressLevel | Number | 否 | 壓縮級別,支持 0 ~ 4 的整數(shù),默認為 4。詳見下文 compressLevel 表說明。 |
success | Function | 否 | 調(diào)用成功的回調(diào)函數(shù)。 |
fail | Function | 否 | 調(diào)用失敗的回調(diào)函數(shù)。 |
complete | Function | 否 | 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)。 |
屬性 | 類型 | 描述 |
---|---|---|
apFilePaths | String Array | 壓縮后的路徑數(shù)組。 |
compressLevel | 描述 |
---|---|
0 | 低質(zhì)量 |
1 | 中等質(zhì)量 |
2 | 高質(zhì)量 |
3 | 不壓縮 |
4 | 根據(jù)網(wǎng)絡適應 |
my.getImageInfo 是獲取圖片信息的 API。
基礎庫 1.4.0 或更高版本;支付寶客戶端 10.1.8 或更高版本,若版本較低,建議采取 兼容處理。
<!-- API-DEMO page/API/get-image-info/get-image-info.axml-->
<view class="page">
<view class="page-description">獲取圖片信息 API</view>
<view class="page-section">
<view class="page-section-title">my.getImageInfo</view>
<view class="page-section-demo">
<image src="{{src}}" onError="imageError" onLoad="imageLoad" />
<button type="primary" onTap="getImageInfo">獲取圖片信息</button>
</view>
</view>
</view>
// .js
//網(wǎng)絡圖片路徑
my.getImageInfo({
src:'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg',
success:(res)=>{
console.log(JSON.stringify(res))
}
})
//apFilePath
my.chooseImage({
success: (res) => {
my.getImageInfo({
src:res.apFilePaths[0],
success:(res)=>{
console.log(JSON.stringify(res))
}
})
},
})
//相對路徑
my.getImageInfo({
src:'image/api.png',
success:(res)=>{
console.log(JSON.stringify(res))
}
})
Object 類型,屬性如下:
屬性 | 類型 | 必填 | 描述 |
---|---|---|---|
src | String | 否 | 圖片路徑,目前支持:網(wǎng)絡圖片路徑、apFilePath 路徑、相對路徑。 |
success | Function | 否 | 調(diào)用成功的回調(diào)函數(shù)。 |
fail | Function | 否 | 調(diào)用失敗的回調(diào)函數(shù)。 |
complete | Function | 否 | 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)。 |
屬性 | 類型 | 描述 |
---|---|---|
width | Number | 圖片寬度(單位為 px)。 |
height | Number | 圖片高度(單位為 px)。 |
path | String | 圖片本地路徑。 |
orientation | String | 返回圖片的方向,有效值見下表。 |
type | String | 返回圖片的格式。 |
枚舉值 | 說明 |
---|---|
up | 默認。 |
down | 180 度旋轉(zhuǎn)。 |
left | 逆時針旋轉(zhuǎn) 90 度。 |
right | 順時針旋轉(zhuǎn) 90 度。 |
up-mirrored | 同 up,但水平翻轉(zhuǎn)。 |
down-mirrored | 同 down,但水平翻轉(zhuǎn)。 |
left-mirrored | 同 left,但垂直翻轉(zhuǎn)。 |
right-mirrored | 同 right,但垂直翻轉(zhuǎn)。 |
my.previewImage 是預覽圖片的 API。
my.previewImage
和 my.chooseImage
的組合使用。
// API-DEMO page/API/image/image.json
{
"defaultTitle": "圖片"
}
<!-- API-DEMO page/API/image/image.axml -->
<view class="page">
<view class="page-section">
<view class="page-section-btns">
<view onTap="chooseImage">選擇照片</view>
<view onTap="previewImage">預覽照片</view>
<view onTap="saveImage">保存照片</view>
</view>
</view>
</view>
// API-DEMO page/API/image/image.js
Page({
chooseImage() {
my.chooseImage({
sourceType: ['camera','album'],
count: 2,
success: (res) => {
my.alert({
content: JSON.stringify(res),
});
},
fail:()=>{
my.showToast({
content: 'fail', // 文字內(nèi)容
});
}
})
},
previewImage() {
my.previewImage({
current: 2,
urls: [
'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg',
'https://img.alicdn.com/tps/TB1pfG4IFXXXXc6XXXXXXXXXXXX.jpg',
'https://img.alicdn.com/tps/TB1h9xxIFXXXXbKXXXXXXXXXXXX.jpg'
],
});
},
saveImage() {
my.saveImage({
url: 'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg',
showActionSheet: true,
success: () => {
my.alert({
title: '保存成功',
});
},
});
}
});
Object 類型,屬性如下:
屬性 | 類型 | 必填 | 描述 |
---|---|---|---|
urls | Array | 是 | 要預覽的圖片 HTTP 鏈接列表。支持網(wǎng)絡 url,apfilePath。 |
current | Number | 否 | 當前顯示圖片索引,默認值為 0,即 urls 中的第一張圖片。 |
success | Function | 否 | 調(diào)用成功的回調(diào)函數(shù)。 |
fail | Function | 否 | 調(diào)用失敗的回調(diào)函數(shù)。 |
complete | Function | 否 | 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)。 |
enablesavephoto | Boolean | 否 | 照片支持長按下載。基礎庫 1.13.0 版本開始支持。 |
enableShowPhotoDownload | Boolean | 否 | 是否在右下角顯示下載入口?;A庫 1.13.0 版本開始支持。 |
my.saveImage 是將在線圖片保存至本地相冊的 API。
// API-DEMO page/API/image/image.json
{
"defaultTitle": "圖片"
}
<!-- API-DEMO page/API/image/image.axml -->
<view class="page">
<view class="page-section">
<view class="page-section-btns">
<view onTap="chooseImage">選擇照片</view>
<view onTap="previewImage">預覽照片</view>
<view onTap="saveImage">保存照片</view>
</view>
</view>
</view>
// API-DEMO page/API/image/image.js
Page({
chooseImage() {
my.chooseImage({
sourceType: ['camera','album'],
count: 2,
success: (res) => {
my.alert({
content: JSON.stringify(res),
});
},
fail:()=>{
my.showToast({
content: 'fail', // 文字內(nèi)容
});
}
})
},
previewImage() {
my.previewImage({
current: 2,
urls: [
'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg',
'https://img.alicdn.com/tps/TB1pfG4IFXXXXc6XXXXXXXXXXXX.jpg',
'https://img.alicdn.com/tps/TB1h9xxIFXXXXbKXXXXXXXXXXXX.jpg'
],
});
},
saveImage() {
my.saveImage({
url: 'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg',
showActionSheet: true,
success: () => {
my.alert({
title: '保存成功',
});
},
});
}
});
Object 類型,屬性如下:
屬性 | 類型 | 必填 | 描述 |
---|---|---|---|
url | String | 是 | 要保存的圖片鏈接。 |
showActionSheet | Boolean | 否 | 是否顯示圖片操作菜單,默認為 true?;A庫 1.24.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)用成功、失敗都會執(zhí)行)。 |
錯誤碼 | 描述 | 解決方案 |
---|---|---|
2 | 參數(shù)無效,沒有傳 URL 參數(shù)。 | 重新傳入正確的 URL 參數(shù)。 |
15 | 沒有開啟相冊權(quán)限(僅在 iOS 上可用)。 | 開啟相冊權(quán)限。 |
16 | 手機相冊存儲空間不足 (僅在 iOS 上可用)。 | 釋放手機存儲空間。 |
17 | 保存圖片過程中的其他錯誤。 | 稍后重試。 |
A:目前 my.saveImage 暫不支持保存 Base64 的圖片。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: