HarmonyOS鸿蒙Next相册里面的视频、GIF、图片如何获取缩略图地址而不是pixelMap
HarmonyOS鸿蒙Next相册里面的视频、GIF、图片如何获取缩略图地址而不是pixelMap Flutter端调用鸿蒙端原始相册,比如im聊天页面,需要在显示时显示缩略图,并且记录到数据库中缩略图的地址和原图地址,现在鸿蒙的api返回的缩略图是pixelMap,这个到Flutter端不能满足需求,请问,是否有像Android和iOS一样的缩略图地址呢?如何获取?
2 回复
可以在鸿蒙里面将拿到的pixelMap存到沙箱路径,获取沙箱路径的path:
async packingPixelMap2Jpg(pixelMap: image.PixelMap): Promise<ArrayBuffer> {
// pixel 转 jpg
// 创建ImagePacker实例
const imagePackerApi = image.createImagePacker();
// 设置打包参数
// format:图片打包格式,只支持 jpg 和 webp
// quality:JPEG 编码输出图片质量
// bufferSize:图片大小,默认 10M
const packOpts: image.PackingOption = { format: "image/png", quality: 98 };
let imageBuffer: ArrayBuffer = new ArrayBuffer(10);
try {
// 图片压缩或重新打包
imageBuffer = await imagePackerApi.packing(pixelMap, packOpts);
} catch (err) {
console.error(`Invoke packingPixelMap2Jpg failed, err: ${JSON.stringify(err)}`);
}
return imageBuffer;
}
更多关于HarmonyOS鸿蒙Next相册里面的视频、GIF、图片如何获取缩略图地址而不是pixelMap的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,获取相册中视频、GIF、图片的缩略图地址,可以通过PhotoAsset
类的getThumbnail
方法实现。该方法返回缩略图的URI,而不是PixelMap
。具体步骤如下:
- 使用
PhotoAsset
对象调用getThumbnail
方法。 - 设置缩略图的大小和质量参数。
- 获取缩略图的URI地址。
示例代码:
PhotoAsset photoAsset = ...; // 获取PhotoAsset对象
Uri thumbnailUri = photoAsset.getThumbnail(width, height, quality);