0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发图形图像——@ohos.effectKit (图像效果)

王程 ? 来源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-22 16:08 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

图像效果提供处理图像的一些基础能力,包括对当前图像的亮度调节、模糊化、灰度调节、智能取色等。

该模块提供以下图像效果相关的常用功能:

Filter:效果类,用于添加指定效果到图像源。

Color:颜色类,用于保存取色的结果。

ColorPicker:智能取色器。

NOTE
本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import effectKit from '@ohos.effectKit';

effectKit.createEffect

createEffect(source: image.PixelMap): Filter

通过传入的PixelMap创建Filter实例。

系统能力: SystemCapability.Multimedia.Image.Core

参数:

wKgaomXXAFaAOpt3AABKf7HO3l8081.png

返回值:

wKgaomXXAF6AW9kDAAAi2tF7JIc005.png

示例:

import image from "@ohos.multimedia.image"; const color = new ArrayBuffer(96); let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } } image.createPixelMap(color, opts).then((pixelMap) => { let headFilter = effectKit.createEffect(pixelMap); })

effectKit.createColorPicker

createColorPicker(source: image.PixelMap): Promise

通过传入的PixelMap创建ColorPicker实例,使用Promise异步回调。

系统能力: SystemCapability.Multimedia.Image.Core

参数:

wKgZomXXAGqAaSBZAABKVm7Szk0230.png

返回值:

wKgaomXXAHGAFYcIAAAh_Uneufw939.png

示例:

import image from "@ohos.multimedia.image"; const color = new ArrayBuffer(96); let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } } image.createPixelMap(color, opts).then((pixelMap) => { effectKit.createColorPicker(pixelMap).then(colorPicker => { console.info("color picker=" + colorPicker); }).catch(ex => console.error(".error=" + ex.toString())) })

effectKit.createColorPicker

createColorPicker(source: image.PixelMap, callback: AsyncCallback): void

通过传入的PixelMap创建ColorPicker实例,使用callback异步回调。

系统能力: SystemCapability.Multimedia.Image.Core

参数:

wKgaomXXAHeAdEJzAABvX5BTDkI118.png

示例:

import image from "@ohos.multimedia.image"; const color = new ArrayBuffer(96); let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } } image.createPixelMap(color, opts).then((pixelMap) => { effectKit.createColorPicker(pixelMap, (error, colorPicker) => { if (error) { console.error('Failed to create color picker.'); } else { console.info('Succeeded in creating color picker.'); } }) })

Color

颜色类,用于保存取色的结果。

系统能力: SystemCapability.Multimedia.Image.Core

wKgZomXXAH-AdpnMAABoyrVHSIY275.png

ColorPicker

取色类,用于从一张图像数据中获取它的主要颜色。在调用ColorPicker的方法前,需要先通过createColorPicker创建一个ColorPicker实例。

getMainColor

getMainColor(): Promise

读取图像主色的颜色值,结果写入Color里,使用Promise异步回调。

系统能力: SystemCapability.Multimedia.Image.Core

返回值:

wKgZomXXAIaAbKIxAAAoNc-NRHE316.png

示例:

colorPicker.getMainColor().then(color => { console.info('Succeeded in getting main color.'); console.info(`color[ARGB]=${color.alpha},${color.red},${color.green},${color.blue}`); }).catch(error => { console.error('Failed to get main color.'); })

getMainColorSync

getMainColorSync(): Color

读取图像主色的颜色值,结果写入Color里,使用同步方式返回。

系统能力: SystemCapability.Multimedia.Image.Core

返回值:

wKgZomXXAI6AC_z4AAAjrfyt3mo504.png

示例:

let color = colorPicker.getMainColorSync();
console.info(‘get main color =’ + color);

wKgaomXXAOeALbKrAAI9Ul3CpWM699.png

wKgaomXXAJeAIOinAAI9Ul3CpWM376.png

Filter

图像效果类,用于将指定的效果添加到输入图像中。在调用Filter的方法前,需要先通过createEffect创建一个Filter实例。

blur

blur(radius: number): Filter

将模糊效果添加到效果链表中,结果返回效果链表的头节点。

系统能力: SystemCapability.Multimedia.Image.Core

参数:

wKgZomXXAOiAM9MMAAA6ZgjZzlw545.png

wKgaomXXAJ6ASNjGAAA6ZgjZzlw318.png

返回值:

wKgaomXXAOiAaD4cAAAX_c9iadI439.png

wKgaomXXAKOAQwDdAAAX_c9iadI237.png

示例:

import image from "@ohos.multimedia.image"; const color = new ArrayBuffer(96); let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }; image.createPixelMap(color, opts).then((pixelMap) => { let radius = 5; let headFilter = effectKit.createEffect(pixelMap); if (headFilter != null) { headFilter.blur(radius); } })

wKgZomXXAOqAZohDAAPKaPnGr8g418.png

wKgaomXXAK2AJA7PAAPKaPnGr8g852.png

brightness

brightness(bright: number): Filter

将高亮效果添加到效果链表中,结果返回效果链表的头节点。

系统能力: SystemCapability.Multimedia.Image.Core

参数:

wKgaomXXAOqATV42AAA0mHwuR8o840.png

wKgaomXXALaAMqKHAAA0mHwuR8o766.png

返回值:

wKgZomXXAOuAHEb0AAAX2Za5ei4904.png

wKgZomXXALuATsyWAAAX2Za5ei4093.png

示例:

import image from "@ohos.multimedia.image"; const color = new ArrayBuffer(96); let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }; image.createPixelMap(color, opts).then((pixelMap) => { let bright = 0.5; let headFilter = effectKit.createEffect(pixelMap); if (headFilter != null) { headFilter.brightness(bright); } })

wKgZomXXAOyALaTEAAQeLWEU5uM119.png

wKgaomXXAMGALbopAAQeLWEU5uM869.png

grayscale

grayscale(): Filter

将灰度效果添加到效果链表中,结果返回效果链表的头节点。

系统能力: SystemCapability.Multimedia.Image.Core

返回值:

wKgaomXXAOyAcQ4_AAAX4yfe2RY331.png

wKgZomXXAMaAUHisAAAX4yfe2RY044.png

示例:

import image from "@ohos.multimedia.image"; const color = new ArrayBuffer(96); let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }; image.createPixelMap(color, opts).then((pixelMap) => { let headFilter = effectKit.createEffect(pixelMap); if (headFilter != null) { headFilter.grayscale(); } })

wKgZomXXAO2ARYdOAANXCUlMAdQ023.png

wKgaomXXAMyAcFYGAANXCUlMAdQ235.png

getPixelMap

getPixelMap(): image.PixelMap

获取已添加链表效果的源图像的image.PixelMap。

系统能力: SystemCapability.Multimedia.Image.Core

返回值:

wKgaomXXAO2AC8HAAAAiYDWOIAg938.png

wKgZomXXANKAZBtzAAAiYDWOIAg457.png

示例:

import image from "@ohos.multimedia.image"; const color = new ArrayBuffer(96); let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }; image.createPixelMap(color, opts).then((pixelMap) => { let pixel = effectKit.createEffect(pixelMap).grayscale().getPixelMap(); }) 审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    开源鸿蒙图形与游戏分论坛圆满举办

    近日,开源鸿蒙开发者大会2025(OHDC.2025)图形与游戏分论坛在深圳圆满举办。本次分论坛由开源鸿蒙图形SIG & 游戏SIG组组长、
    的头像 发表于 06-05 15:30 ?742次阅读

    使用ALINX VD100开发板实现图像处理

    这是一块基于 AMD Versal Edge AI 平台的开发板,功能特别强大,可以用来做图像处理、人工智能等各种高阶应用。
    的头像 发表于 05-12 09:23 ?536次阅读
    使用ALINX VD100<b class='flag-5'>开发</b>板实现<b class='flag-5'>图像</b>处理

    中科亿海微亮相2025中国图象图形大会,共绘图像图形“芯”未来!

    2025年5月8日至11日,中国图像图形领域顶级学术盛会——中国图象图形大会(CCIG2025)在湖南长沙圆满落幕!作为图像图形领域的年度盛会,本次大会汇聚了国内外顶尖学者、行业领袖及创新企业,共同
    的头像 发表于 05-11 18:08 ?673次阅读
    中科亿海微亮相2025中国图象<b class='flag-5'>图形</b>大会,共绘<b class='flag-5'>图像图形</b>“芯”未来!

    使用DPLC410进行灰度图像的显示,显示时有时图像会抖动是怎么回事?

    使用DLPLCRC410EVM(DLP? Discovery? 4100 )开发板和 DLP7000 DMD器件进行灰度图像显示时,有时会出现图像抖动的现象,重启后又正常,或者使用iMPACT重新
    发表于 02-26 06:08

    图像采集卡:现代图像处理技术的关键组件

    在现代科技快速发展的背景下,图像处理技术已成为信息技术领域不可或缺的一部分。图像采集卡,作为连接计算机与各种图像采集设备的重要硬件组件,扮演着至关重要的角色。它不仅涉及图像信号的转换和
    的头像 发表于 02-20 10:42 ?545次阅读
    <b class='flag-5'>图像</b>采集卡:现代<b class='flag-5'>图像</b>处理技术的关键组件

    #新年新气象,大家新年快乐!#AIGC入门及鸿蒙入门

    开发的语言模型工具,支持文本生成、代码编写等。 MidJourney:一个用于图像生成的工具,允许用户输入文本描述以生成相应的图像。 DALL·E:由Stability AI提供的图像
    发表于 01-13 10:46

    AIGC入门及鸿蒙入门

    开发的语言模型工具,支持文本生成、代码编写等。 MidJourney:一个用于图像生成的工具,允许用户输入文本描述以生成相应的图像。 DALL·E:由Stability AI提供的图像
    发表于 01-13 10:32

    鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II

    ,职责分离,平台抽象,不同平台组合打包,有效解决平台不一致问题 参考资料 鸿蒙Flutter实战:01-搭建开发环境 鸿蒙Flutter实战:09-现有Flutter项目支持鸿蒙 Fl
    发表于 12-26 14:59

    百问FB显示开发图像处理 - 图像调整

    2.4 图像调整 2.4.1 图像的缩放 2.4.1.1 图像缩放算法浅析 图像缩放算法有很多种,这里参考网友\"lantianyu520\"所著的\"
    发表于 12-02 09:34

    百问FB显示开发图像处理 - BMP图像处理

    2 图像处理 ?前言:所有的图像文件,都是一种二进制格式文件,每一个图像文件,都可以通过解析文件中的每一组二进制数的含义来获得文件中的各种信息,如图像高度,宽度,像素位数等等。只是不同
    发表于 11-28 13:52

    【每天学点AI】实战图像增强技术在人工智能图像处理中的应用

    、医疗诊断、安防监控等领域有着广泛的应用,尤其是对于低质量图像(如噪声较多、对比度低等),图像增强可以显著改善视觉效果,提升下游任务的准确率。1、图像增强的基本原
    的头像 发表于 11-22 17:14 ?1835次阅读
    【每天学点AI】实战<b class='flag-5'>图像</b>增强技术在人工智能<b class='flag-5'>图像</b>处理中的应用

    EPS格式图像的最佳使用场景

    EPS(Encapsulated PostScript)是一种广泛使用的矢量图形文件格式,最初由Adobe公司开发。它以其高兼容性、可缩放性和高质量的图像输出而受到设计师和出版业的青睐。 1. 专业
    的头像 发表于 11-19 10:33 ?1821次阅读

    鸿蒙Flutter实战:12-使用模拟器开发调试

    前提 开发电脑需为M系列芯片 (ARM架构) 的 Mac 电脑 目前 Flutter 鸿蒙开发,无法使用 X86 架构的模拟器,只能使用 ARM 架构的模拟器** 创建项目 等开发
    发表于 11-10 13:13

    鸿蒙Flutter实战:07混合开发

    # 鸿蒙Flutter实战:混合开发 鸿蒙Flutter混合开发主要有两种形式。 ## 1.基于har 将flutter module打包成har包,在原生
    发表于 10-23 16:00

    FPGA在图像处理领域的优势有哪些?

    时,FPGA可以轻松地适应新的算法,而无需重新设计硬件。这种灵活性使得FPGA在图像处理领域具有更快的开发速度,有助于缩短产品的上市时间。同时,FPGA还可以根据不同的图像内容,实时地调整处理策略,使得在
    发表于 10-09 14:36