代码拉取完成,页面将自动刷新
本示例介绍图片AI抠图案例的使用:通过Image.enableAnalyzer(true)实现长按图片抠图并拖拽/复制到其他应用中。
使用说明
Image.enableAnalyzer()可以设置组件支持AI分析,设置为true时,组件可进行AI分析。
支持分析的图像要求是静态非矢量图,即svg、gif等图像类型不支持分析,仅支持传入PixelMap进行分析,目前仅支持RGBA_8888类型,ImageView.ets, 因此需要定义图片转成PixelMap且为RGBA_8888类型方法:
// 使图片转成PixelMap且为RGBA_8888类型
private async getPixmapFromMedia(resource: Resource) {
let unit8Array = await getContext(this)?.resourceManager?.getMediaContent({
bundleName: resource.bundleName,
moduleName: resource.moduleName,
id: resource.id
})
let imageSource = image.createImageSource(unit8Array.buffer.slice(0, unit8Array.buffer.byteLength));
let createPixelMap: image.PixelMap = await imageSource.createPixelMap({
desiredPixelFormat: image.PixelMapFormat.RGBA_8888
})
await imageSource.release();
return createPixelMap;
}
build() {
Swiper() {
ForEach(this.imagePixelMapList, (item: image.PixelMap) => {
/* 性能知识点:当数据量较大时,推荐使用懒加载加载数据。
* 参考使用数据懒加载文章:
* https://gitee.com/harmonyos-cases/cases/blob/master/docs/performance/arkts-performance-improvement-recommendation.md
*/
Image(item)
.enableAnalyzer(true) // 开启Image组件的AI分析能力,目前支持分析PixelMap且为RGBA_8888类型的图片
})
}
}
不涉及
imageenableanalyzer // har类型
|---src/main/ets/view
| |---ImageView.ets // 视图层-主页
har包-common库中UX标准
@ohos/routermodule(动态路由)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。