1# @ohos.graphics.uiEffect (效果级联) 2 3<!--Kit: ArkGraphics 2D--> 4<!--Subsystem: Graphics--> 5<!--Owner: @hanamaru--> 6<!--Designer: @comicchang--> 7<!--Tester: @gcw_fsLqk7gL--> 8<!--Adviser: @ge-yafang--> 9 10本模块提供组件效果的一些基础能力,包括模糊、边缘像素扩展、提亮等。效果被分为Filter和VisualEffect大类,同类效果可以级联在一个效果大类的实例下。在实际开发中,模糊可用于背景虚化,提亮可用于亮屏显示等。 11 12- [Filter](#filter):用于添加指定Filter效果到组件上。 13- [VisualEffect](#visualeffect):用于添加指定VisualEffect效果到组件上。 14 15> **说明:** 16> 17> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 18 19## 导入模块 20 21```ts 22import { uiEffect } from "@kit.ArkGraphics2D"; 23``` 24 25## uiEffect.createFilter 26createFilter(): Filter 27 28创建Filter实例用于给组件添加多种filter效果。 29 30**系统能力:** SystemCapability.Graphics.Drawing 31 32**返回值:** 33 34| 类型 | 说明 | 35| ------------------| ------------------- | 36| [Filter](#filter) | 返回Filter的头节点。 | 37 38**示例:** 39 40```ts 41let filter : uiEffect.Filter = uiEffect.createFilter() 42``` 43 44## uiEffect.createEffect 45createEffect(): VisualEffect 46 47创建VisualEffect实例用于给组件添加多种effect效果。 48 49**系统能力:** SystemCapability.Graphics.Drawing 50 51**返回值:** 52 53| 类型 | 说明 | 54| ----------------------------- | ------------------------- | 55| [VisualEffect](#visualeffect) | 返回VisualEffect的头节点。 | 56 57**示例:** 58 59```ts 60let visualEffect : uiEffect.VisualEffect = uiEffect.createEffect() 61``` 62 63## Filter 64Filter效果类,用于将相应的效果添加到指定的组件上。在调用Filter的方法前,需要先通过[createFilter](#uieffectcreatefilter)创建一个Filter实例。 65 66### blur 67blur(blurRadius: number): Filter 68 69将模糊效果添加至组件上。 70 71**系统能力:** SystemCapability.Graphics.Drawing 72 73**参数:** 74| 参数名 | 类型 | 必填 | 说明 | 75| ----------- | -------| ---- | --------- | 76| blurRadius | number | 是 | 模糊半径。<br/>取值需大于等于0,模糊半径越大,模糊效果越强。<br/>模糊半径为0时无模糊效果。 | 77 78**返回值:** 79 80| 类型 | 说明 | 81| ----------------- | -------------------------- | 82| [Filter](#filter) | 返回挂载了模糊效果的Filter。 | 83 84**示例:** 85 86```ts 87// xxx.ts 88import { uiEffect } from '@kit.ArkGraphics2D'; 89 90let filter: uiEffect.Filter = uiEffect.createFilter(); 91filter.blur(10); 92 93@Entry 94@Component 95struct UIEffectFilterExample { 96 build(){ 97 Column({ space: 15 }) { 98 Text('UIEffectFilter').fontSize(20).width('75%').fontColor('#DCDCDC') 99 Image($r('app.media.foreground')) 100 .width(100) 101 .height(100) 102 .backgroundImage($r('app.media.background')) 103 .backgroundImagePosition(Alignment.Center) 104 .backgroundImageSize({ width: 90, height: 90 }) 105 .backgroundFilter(filter) 106 } 107 .height('100%') 108 .width('100%') 109 } 110} 111``` 112 113## VisualEffect 114VisualEffect效果类,用于将相应的效果添加到指定的组件上。在调用VisualEffect的方法前,需要先通过[createEffect](#uieffectcreateeffect)创建一个VisualEffect实例。