1e41f4b71Sopenharmony_ci# image_effect.h 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci 4e41f4b71Sopenharmony_ci## Overview 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ciThe **image_effect.h** file declares the APIs related to an image effector. 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ciYou can use the APIs to add, delete, and query image effect filters. You can connect multiple filters in series to implement complex effect adjustment. 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ciThe effector supports multiple input types, such as pixel map, URI, and surface. Different input types are converted into buffer objects in the effector, and effect processing is implemented through the filters. 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci**Library**: libimage_effect.so 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Multimedia.ImageEffect.Core 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci**Since**: 12 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci**Related module**: [ImageEffect](_image_effect.md) 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci## Summary 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci### Types 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci| Name| Description| 27e41f4b71Sopenharmony_ci| -------- | -------- | 28e41f4b71Sopenharmony_ci| typedef struct [OH_ImageEffect](_image_effect.md#oh_imageeffect) [OH_ImageEffect](_image_effect.md#oh_imageeffect) | Defines a struct for the image effector. | 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci### Functions 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci| Name| Description| 34e41f4b71Sopenharmony_ci| -------- | -------- | 35e41f4b71Sopenharmony_ci| [OH_ImageEffect](_image_effect.md#oh_imageeffect) \* [OH_ImageEffect_Create](_image_effect.md#oh_imageeffect_create) (const char \*name) | Creates an **OH_ImageEffect** instance. The instance must be released by calling [OH_ImageEffect_Release](_image_effect.md#oh_imageeffect_release) when it is no longer needed. | 36e41f4b71Sopenharmony_ci| [OH_EffectFilter](_image_effect.md#oh_effectfilter) \* [OH_ImageEffect_AddFilter](_image_effect.md#oh_imageeffect_addfilter) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, const char \*filterName) | Adds a filter. | 37e41f4b71Sopenharmony_ci| [OH_EffectFilter](_image_effect.md#oh_effectfilter) \* [OH_ImageEffect_InsertFilter](_image_effect.md#oh_imageeffect_insertfilter) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, uint32_t index, const char \*filterName) | Inserts a filter. | 38e41f4b71Sopenharmony_ci| int32_t [OH_ImageEffect_RemoveFilter](_image_effect.md#oh_imageeffect_removefilter) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, const char \*filterName) | Removes a filter. | 39e41f4b71Sopenharmony_ci| int32_t [OH_ImageEffect_GetFilterCount](_image_effect.md#oh_imageeffect_getfiltercount) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect) | Obtains the number of added filters. | 40e41f4b71Sopenharmony_ci| [OH_EffectFilter](_image_effect.md#oh_effectfilter) \* [OH_ImageEffect_GetFilter](_image_effect.md#oh_imageeffect_getfilter) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, uint32_t index) | Obtains the information about a filter. | 41e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_Configure](_image_effect.md#oh_imageeffect_configure) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, const char \*key, const [ImageEffect_Any](_image_effect___any.md) \*value) | Configures an image effector. | 42e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_SetOutputSurface](_image_effect.md#oh_imageeffect_setoutputsurface) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, OHNativeWindow \*nativeWindow) | Sets an output surface. | 43e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_GetInputSurface](_image_effect.md#oh_imageeffect_getinputsurface) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, OHNativeWindow \*\*nativeWindow) | Obtains an input surface. | 44e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_SetInputPixelmap](_image_effect.md#oh_imageeffect_setinputpixelmap) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, OH_PixelmapNative \*pixelmap) | Sets an input pixel map. | 45e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_SetOutputPixelmap](_image_effect.md#oh_imageeffect_setoutputpixelmap) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, OH_PixelmapNative \*pixelmap) | Sets an output pixel map. | 46e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_SetInputNativeBuffer](_image_effect.md#oh_imageeffect_setinputnativebuffer) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, OH_NativeBuffer \*nativeBuffer) | Sets an input native buffer. | 47e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_SetOutputNativeBuffer](_image_effect.md#oh_imageeffect_setoutputnativebuffer) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, OH_NativeBuffer \*nativeBuffer) | Sets an output native buffer. | 48e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_SetInputUri](_image_effect.md#oh_imageeffect_setinputuri) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, const char \*uri) | Sets an input URI. | 49e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_SetOutputUri](_image_effect.md#oh_imageeffect_setoutputuri) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, const char \*uri) | Sets an output URI. | 50e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_Start](_image_effect.md#oh_imageeffect_start) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect) | Starts an image effector. | 51e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_Stop](_image_effect.md#oh_imageeffect_stop) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect) | Stops an image effector. | 52e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_Release](_image_effect.md#oh_imageeffect_release) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect) | Releases an **OH_ImageEffect** instance. | 53e41f4b71Sopenharmony_ci| [ImageEffect_ErrorCode](_image_effect.md#imageeffect_errorcode) [OH_ImageEffect_Save](_image_effect.md#oh_imageeffect_save) ([OH_ImageEffect](_image_effect.md#oh_imageeffect) \*imageEffect, char \*\*info) | Serializes an image effector. | 54e41f4b71Sopenharmony_ci| [OH_ImageEffect](_image_effect.md#oh_imageeffect) \* [OH_ImageEffect_Restore](_image_effect.md#oh_imageeffect_restore) (const char \*info) | Deserializes an image effector. | 55