| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 22-Oct-2025 | - | 35 | 32 | ||
| entry/ | 22-Oct-2025 | - | 4,471 | 3,762 | ||
| hvigor/ | 22-Oct-2025 | - | 36 | 35 | ||
| screenshots/ | 22-Oct-2025 | - | ||||
| .gitignore | D | 22-Oct-2025 | 171 | 13 | 13 | |
| README.md | D | 22-Oct-2025 | 5.6 KiB | 96 | 75 | |
| build-profile.json5 | D | 22-Oct-2025 | 1.2 KiB | 51 | 50 | |
| hvigorfile.ts | D | 22-Oct-2025 | 843 | 22 | 5 | |
| oh-package.json5 | D | 22-Oct-2025 | 902 | 30 | 29 | |
| ohosTest.md | D | 22-Oct-2025 | 3.8 KiB | 24 | 22 |
README.md
1# ImageEffect 2 3## 介绍 4 5本示例依照指南 媒体->Image Kit(图片处理服务)->图片开发指导(C/C++)->[使用ImageEffect编辑图片](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/media/image/image-effect-guidelines.md)进行编写。 6 7本示例主要功能如下: 8- 通过ImageEffect提供的Native API接口添加滤镜或滤镜链,对输入图像应用滤镜效果。 9- 注册实现了自定义亮度滤镜与自定义裁剪滤镜。 10- 通过ImageEffect提供的Native API接口快速实现单个滤镜的处理效果。 11- 通过ImageEffect提供的Native API接口查询滤镜能力信息。 12 13## 效果预览 14 15| 主界面 | 设置滤镜 | 选择输入类型 | 查询滤镜信息 | 16|------------------------------------------------------------------|--------------------------------------------------------------------------|--------------------------------------------------------------------------------|----------------------------------------------------------------------| 17|  |  |  |  | 18 19 20使用说明: 211. 输入类型选择:在参数设置页面中,选择输入类型,显示区域将切换为对应的输入类型。 222. 调整滤镜参数:在参数设置页面中,选择所需的滤镜选项,并通过拖动滑动条来调节各个滤镜算子的参数。 233. 滤镜算子选择:可以选择裁剪、缩放、旋转等内置的算子,或选择自定义亮度、自定义剪裁滤镜。本示例允许同时选择多个滤镜以形成滤镜链。 244. 确认与保存设置:调整完毕后,点击确认按钮以保存所设置的滤镜参数。 255. 应用滤镜效果:返回图片展示页面后,点击Apply按钮,系统将展现经过滤镜处理后的图片效果。 266. 重置图片效果:如需撤销所做改动,点击Reset按钮,图片将恢复至调整前状态。 277. 查看滤镜详细信息:在参数设置页面,点击滑块旁的搜索图标,系统将展示一个详细信息页面,提供所选滤镜相关信息。 288. 查询滤镜信息:点击查询按钮并选择查询参数来获取滤镜信息页面,该页面将显示所应用的滤镜个数和名称信息。 29 30## 工程目录 31 32``` 33ImageEffect 34entry/src/main/cpp/ 35├── CMakeLists.txt(CMake构建配置文件) 36├── backend 37│ ├── image_edit.cpp(图片编辑) 38│ └── image_edit.h 39├── logging.h(Log相关定义声明) 40├── napi_init.cpp(图片处理功能注册) 41└── utils 42 ├── common_utils.cpp(字符处理工具函数) 43 ├── common_utils.h 44 ├── json_utils.cpp(json格式处理工具函数) 45 ├── json_utils.h 46 ├── pixelmap_helper.cpp(图片解码) 47 └── pixelmap_helper.h 48entry/src/main/ets/ 49├── pages 50│ └── ImageEditPage.ets(图片显示、设置页面) 51└── utils 52 └── ImageUtils.ets(图片资源获取处理) 53entry/src/ohosTest/ets/ 54└── test 55 ├── Ability.test.ets (UI测试代码) 56 └── List.test.ets (测试套件列表) 57``` 58 59## 具体实现 60 61+ 图片编辑功能在ImageEditPage中实现,源码参考ImageEditPage.ets: 62 + 输入类型选择:在图片展示页面点击设置按钮弹出设置页面,选择输入类型。 63 + 滤镜选择:在图片展示页面点击设置按钮弹出设置页面,选择滤镜并设置参数,点击确认按钮保存滤镜参数选择。 64 + 滤镜生效:点击Apply按钮,展示经过滤镜处理后的图片效果,点击Reset按钮,图片恢复至调整前状态。 65 + 滤镜查询:点击滑动条后面的查询图标可查询单个滤镜信息,点击下方查询按钮可查询对应条件的滤镜信息。 66 67+ native接口在image_edit中实现,源码参考image_edit.cpp: 68 - 应用滤镜:应用滤镜处理需要加载libimage_effect.so,对传入的输入类型进行处理,使用Brightness对图像进行亮度处理使用Contrast对图像进行对比度处理,使用Crop对图像进行裁剪处理,也可以自定义滤镜对图像进行处理。 69 - 滤镜查询:接口实现对滤镜的查询功能,通过OH_EffectFilter_LookupFilterInfo接口方法查询单个滤镜的详细信息,通过OH_EffectFilter_LookupFilters接口方法查询指定条件下的滤镜数量以及信息。 70 71## 相关权限 72 73[ohos.permission.CAMERA](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all-user.md#ohospermissioncamera) 74 75## 依赖 76 77不涉及。 78 79## 约束和限制 80 811. 本示例支持标准系统上运行,支持设备:RK3568; 822. 本示例支持API14版本SDK,版本号:5.0.2.57; 833. 本示例已支持使DevEco Studio 5.0.1 Release (构建版本:5.0.5.306,构建 2024年12月6日)编译运行 844. 本示例涉及系统相机,由相机功能异常导致的OHNativeWindow场景无画面问题,可通过更换相机功能正常的镜像解决。 85 86## 下载 87 88如需单独下载本工程,执行如下命令: 89 90``` 91git init 92git config core.sparsecheckout true 93echo code/DocsSample/Media/Image/ImageEffect/ > .git/info/sparse-checkout 94git remote add origin OpenHarmony/applications_app_samples 95git pull origin master 96```