W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
圖片解碼指將所支持格式的存檔圖片解碼成統(tǒng)一的PixelMap,以便在應(yīng)用或系統(tǒng)中進(jìn)行圖片顯示或圖片處理。當(dāng)前支持的存檔圖片格式包括JPEG、PNG、GIF、RAW、WebP、BMP、SVG。
圖片解碼相關(guān)API的詳細(xì)介紹請參見:圖片解碼接口說明。
- import image from '@ohos.multimedia.image';
- // Stage模型參考如下代碼
- const context = getContext(this);
- const filePath = context.cacheDir + '/test.jpg';
- // FA模型參考如下代碼
- import featureAbility from '@ohos.ability.featureAbility';
- const context = featureAbility.getContext();
- const filePath = context.getCacheDir() + "/test.jpg";
該方法需要先導(dǎo)入@ohos.file.fs模塊。
- import fs from '@ohos.file.fs';
然后調(diào)用fs.openSync()獲取文件描述符。
- // Stage模型參考如下代碼
- const context = getContext(this);
- const filePath = context.cacheDir + '/test.jpg';
- const file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
- const fd = file?.fd;
- // FA模型參考如下代碼
- import featureAbility from '@ohos.ability.featureAbility';
- const context = featureAbility.getContext();
- const filePath = context.getCacheDir() + "/test.jpg";
- const file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
- const fd = file?.fd;
- // Stage模型
- const context = getContext(this);
- // 獲取resourceManager資源管理器
- const resourceMgr = context.resourceManager;
- // FA模型
- // 導(dǎo)入resourceManager資源管理器
- import resourceManager from '@ohos.resourceManager';
- const resourceMgr = await resourceManager.getResourceManager();
不同模型獲取資源管理器的方式不同,獲取資源管理器后,再調(diào)用resourceMgr.getRawFileContent()獲取資源文件的ArrayBuffer。
- const fileData = await resourceMgr.getRawFileContent('test.jpg');
- // 獲取圖片的ArrayBuffer
- const buffer = fileData.buffer;
- // path為已獲得的沙箱路徑
- const imageSource = image.createImageSource(filePath);
- // fd為已獲得的文件描述符
- const imageSource = image.createImageSource(fd);
- const imageSource = image.createImageSource(buffer);
- let decodingOptions = {
- editable: true,
- desiredPixelFormat: 3,
- }
- // 創(chuàng)建pixelMap并進(jìn)行簡單的旋轉(zhuǎn)和縮放
- const pixelMap = await imageSource.createPixelMap(decodingOptions);
解碼完成,獲取到PixelMap對象后,可以進(jìn)行后續(xù)圖片處理。
- const context = getContext(this);
- // 獲取resourceManager資源管理
- const resourceMgr = context.resourceManager;
- const fileData = await resourceMgr.getRawFileContent('test.jpg');
- // 獲取圖片的ArrayBuffer
- const buffer = fileData.buffer;
- const imageSource = image.createImageSource(buffer);
- const pixelMap = await imageSource.createPixelMap();
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: