• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# NdkPicture
2
3## 介绍
4本示例主要实现了基于Picture的图片解码、主图获取、图片编码等功能。
5
6## 效果预览
7
8| 主界面                                         |
9| ---------------------------------------------- |
10| ![NdkPixelMap](./screenshots/NdkPictureUI.png) |
11
12使用说明:
13
141. 点击'Create Picture'按钮,解码图片,并以弹窗的形式通知结果(是否解码成功)。
152. 点击'Get MainPixelMap'按钮,从解码的Picture中获取主图,并以弹窗的形式通知结果。
163. 点击'Pack To Data'按钮或'Pack To File'按钮,将Picture编码到缓冲区或图片文件,并以弹窗的形式通知结果。
174. 点击'Realease Picture'按钮,释放Picture对象。
18
19## 工程目录
20
21```
22NdkPicture
23entry/src/main/cpp/
24├── types
25│   └── libentry
26│       └── Index.d.ts (声明Napi接口,供ts调用)
27├── CMakeLists.txt (CMake编译配置文件)
28└── napi_init.cpp (初始化Napi接口)
29entry/src/main/ets/
30├── utils
31│   └── Logger.ets (logger日志类)
32│   └── MyButton.ets (自定义Button按钮类)
33│   └── PictureFunctions.ets (Picture函数类)
34└── pages
35    └── Index.ets (UI界面)
36entry/src/main/resources/
37└── rawfile
38    └── test.jpg(图片资源)
39entry/src/ohosTest/ets/
40└── test
41    ├── Ability.test.ets (UI测试代码)
42    └── List.test.ets (测试套件列表)
43```
44
45## 具体实现
46+ 图片解码、获取主图、图片编码等功能的CPAI封装均在napi_init中实现,源码参考[napi_init.cpp](./entry/src/main/cpp/napi_init.cpp)。
47
48## 相关权限
49
50不涉及
51
52## 依赖
53
54不涉及
55
56## 约束和限制
57
581. 本示例支持标准系统上运行,支持设备:RK3568;
59
602. 本示例支持API15版本SDK,版本号:5.0.3.135;
61
623. 本示例已支持使DevEco Studio 5.0.3 Release (构建版本:5.0.8.300,构建 2025年3月19日)编译运行
63
64## 下载
65
66如需单独下载本工程,执行如下命令:
67
68```
69git init
70git config core.sparsecheckout true
71echo code/DocsSample/Media/Image/NdkPicture/ > .git/info/sparse-checkout
72git remote add origin OpenHarmony/applications_app_samples
73git pull origin master
74```