如何使用第三方庫中的picker_utils (API12) PickerUtil類

1. 安裝依賴

ohpm i @pura/picker_utils

版本建議:安裝時(shí)可通過ohpm i @pura/picker_utils@latest獲取最新穩(wěn)定版本

依賴說明:本庫封裝了系統(tǒng)原生多媒體選擇能力,無需額外配置底層硬件接口

2.在使用的頁面導(dǎo)入模塊

import { CameraOptions, PickerUtil } from '@pura/picker_utils';

import { image } from '@kit.ImageKit';

import { camera, cameraPicker } from '@kit.CameraKit';

import { BusinessError } from '@kit.BasicServicesKit';

關(guān)鍵模塊

CameraOptions:相機(jī)參數(shù)配置接口

PickerUtil:核心工具類,提供多媒體選擇方法

BusinessError:統(tǒng)一錯(cuò)誤處理對象

3.拍照(需要有拍照權(quán)限)

let options: CameraOptions = {

? mediaTypes: [cameraPicker.PickerMediaType.PHOTO],

? cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK

}

PickerUtil.camera(options).then((result) => {

? this.uriStr = `調(diào)用相機(jī),返回uri:\n${result.resultUri}`;

}).catch((err: BusinessError) => {

? this.uriStr = `調(diào)用相機(jī),異常:\n${JSON.stringify(err)}`;

});

技術(shù)特點(diǎn)

系統(tǒng)級集成:直接調(diào)用設(shè)備原生相機(jī)應(yīng)用,保證最佳兼容性

零配置啟動(dòng):默認(rèn)使用系統(tǒng)推薦參數(shù),開發(fā)者無需調(diào)整分辨率/比例等細(xì)節(jié)

即時(shí)資源訪問:返回的 URI 可直接用于image.createImageSource()創(chuàng)建圖像源

應(yīng)用場景擴(kuò)展

證件照拍攝(支持自動(dòng)保存到指定相冊目錄)

商品掃描識(shí)別(配合AI解析庫實(shí)現(xiàn)即時(shí)識(shí)別)

現(xiàn)場巡檢記錄(自動(dòng)添加地理位置水?。?/p>

最佳實(shí)踐

調(diào)用前通過abilityAccessCtrl模塊動(dòng)態(tài)申請相機(jī)權(quán)限

大尺寸圖片處理建議使用image.createImageSource()進(jìn)行壓縮

重要場景可啟用地理位置標(biāo)記功能

4.選擇單張 / 多張圖片

PickerUtil.selectPhoto().then((uris) => {

? this.uriStr = `調(diào)用相冊,返回uris:\n${uris.join('\n')}`;

}).catch((err: BusinessError) => {

? this.uriStr = `調(diào)用相冊,異常:\n${JSON.stringify(err)}`;

})

技術(shù)特點(diǎn)

智能媒體過濾:自動(dòng)識(shí)別并過濾損壞/不支持的圖片格式

內(nèi)存優(yōu)化:流式加載機(jī)制避免大圖列表內(nèi)存溢出

多選控制:默認(rèn)支持多選,可通過參數(shù)配置單選模式

應(yīng)用場景擴(kuò)展

社交媒體多圖發(fā)布(9宮格圖片選擇)

電子相冊制作(跨相冊圖片聚合選擇)

圖片批量編輯處理(濾鏡/裁剪/水印)

性能優(yōu)化建議

超大型相冊建議分頁加載(需SDK支持)

使用Image組件時(shí)建議設(shè)置顯示尺寸避免內(nèi)存溢出

重要數(shù)據(jù)建議立即復(fù)制到應(yīng)用私有目錄

5.選擇單個(gè)或多個(gè)文件

let options: picker.DocumentSelectOptions = {

? maxSelectNumber: 9, //選擇媒體文件數(shù)量的最大值,默認(rèn)9。

? selectMode: picker.DocumentSelectMode.FILE, //支持選擇的資源類型,默認(rèn)文件

}

PickerUtil.selectDocument(options).then((uris) => {

? this.uriStr = `調(diào)用文件管理,返回uris:\n${uris.join('\n')}`

}).catch((err: BusinessError) => {

? this.uriStr = `調(diào)用文件管理,異常:\n${JSON.stringify(err)}`

});

特點(diǎn):調(diào)用系統(tǒng)文件管理器。允許開發(fā)者通過maxSelectNumber參數(shù)限制用戶選擇的文件數(shù)量上限,并通過selectMode指定選擇的是文件還是文件夾。返回選中的文件或文件夾的 URI 數(shù)組。

適用場景:適用于需要用戶從設(shè)備存儲(chǔ)中選擇特定文件的應(yīng)用場景,例如文檔上傳、附件選擇、導(dǎo)入外部數(shù)據(jù)文件、備份文件選擇等。

注意事項(xiàng):

本文檔展示了@pura/picker_utils庫的核心功能(拍照、選圖、選文件)的基本用法。

該庫可能提供更多高級選項(xiàng)和配置參數(shù)。如需了解更詳盡的功能說明、參數(shù)細(xì)節(jié)以及高級用法,請務(wù)必參考該第三方 SDK 的官方文檔或源碼。

本文檔所使用類的源地址鏈接

entry/src/main/ets/pages/utils/PickerUtilPage.ets · 桃花鎮(zhèn)童長老/harmony-utils - Gitee.com

本文檔所介紹的第三方庫源地址鏈接OpenHarmony三方庫中心倉

##三方SDK##數(shù)碼相機(jī)##

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容