• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# OH_NativeImage
2
3
4提供NativeImage功能。
5
6
7@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage
8
9
10**起始版本:**
11
12
139
14
15
16## 汇总
17
18
19### 文件
20
21| 文件名称 | 描述 |
22| -------- | -------- |
23| [native_image.h](native__image_8h.md) | 定义获取和使用NativeImage的相关函数。<br>引用文件:<native_image/native_image.h> |
24
25
26### 函数
27
28| 函数名称 | 描述 |
29| -------- | -------- |
30| [OH_NativeImage_Create]( #oh_nativeimage_create) (uint32_t textureId, uint32_t textureTarget) | 创建一个**OH_NativeImage**实例,该实例与OPENGL ES的纹理ID和纹理目标相关联。 |
31| [OH_NativeImage_AcquireNativeWindow]( #oh_nativeimage_acquirenativewindow) (OH_NativeImage \*image) | 获取与OH_NativeImage相关联的OHNativeWindow指针. 该OHNativeWindow后续不再需要时需要调用 OH_NativeWindow_DestroyNativeWindow释放。 |
32| [OH_NativeImage_AttachContext]( #oh_nativeimage_attachcontext) (OH_NativeImage \*image, uint32_t textureId) | 将OH_NativeImage实例附加到当前OPENGL ES上下文, 且该OPENGL ES纹理会绑定到 GL_TEXTURE_EXTERNAL_OES, 并通过OH_NativeImage进行更新。 |
33| [OH_NativeImage_DetachContext]( #oh_nativeimage_detachcontext) (OH_NativeImage \*image) | 将OH_NativeImage实例从当前OPENGL ES上下文分离。 |
34| [OH_NativeImage_UpdateSurfaceImage]( #oh_nativeimage_updatesurfaceimage) (OH_NativeImage \*image) | 通过OH_NativeImage获取最新帧更新相关联的OPENGL ES纹理。 |
35| [OH_NativeImage_GetTimestamp]( #oh_nativeimage_gettimestamp) (OH_NativeImage \*image) | 获取最近调用OH_NativeImage_UpdateSurfaceImage的纹理图像的相关时间戳。 |
36| [OH_NativeImage_GetTransformMatrix]( #oh_nativeimage_gettransformmatrix) (OH_NativeImage \*image, float matrix[16]) | 获取最近调用OH_NativeImage_UpdateSurfaceImage的纹理图像的变化矩阵。 |
37| [OH_NativeImage_Destroy]( #oh_nativeimage_destroy) (OH_NativeImage \*\*image) | 销毁通过OH_NativeImage_Create创建的**OH_NativeImage**实例, 销毁后该 **OH_NativeImage**指针会被赋值为空。 |
38
39
40## 详细描述
41
42
43## 函数说明
44
45
46### OH_NativeImage_AcquireNativeWindow()
47
48
49```
50OHNativeWindow* OH_NativeImage_AcquireNativeWindow (OH_NativeImage * image)
51```
52
53**描述:**
54
55获取与OH_NativeImage相关联的OHNativeWindow指针。该OHNativeWindow后续不再需要时需要调用 OH_NativeWindow_DestroyNativeWindow释放。
56
57@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage
58
59**参数:**
60
61| Name | 描述 |
62| -------- | -------- |
63| image | 指向OH_NativeImage实例的指针。 |
64
65**返回:**
66
67成功则返回一个指向OHNativeWindow实例的指针,否则返回**NULL**。
68
69**起始版本:**
70
719
72
73
74### OH_NativeImage_AttachContext()
75
76
77```
78int32_t OH_NativeImage_AttachContext (OH_NativeImage * image, uint32_t textureId )
79```
80
81**描述:**
82
83将OH_NativeImage实例附加到当前OPENGL ES上下文,且该OPENGL ES纹理会绑定到 GL_TEXTURE_EXTERNAL_OES,并通过OH_NativeImage进行更新。
84
85@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage
86
87**参数:**
88
89| Name | 描述 |
90| -------- | -------- |
91| image | 指向OH_NativeImage实例的指针。 |
92| textureId | OH_NativeImage要附加到的OPENGL ES纹理的id。 |
93
94**返回:**
95
96返回一个由**SurfaceError**定义的int32_t类型的错误码。
97
98**起始版本:**
99
1009
101
102
103### OH_NativeImage_Create()
104
105
106```
107OH_NativeImage* OH_NativeImage_Create (uint32_t textureId, uint32_t textureTarget )
108```
109
110**描述:**
111
112创建一个**OH_NativeImage**实例,该实例与OPENGL ES的纹理ID和纹理目标相关联。
113
114@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage
115
116**参数:**
117
118| Name | 描述 |
119| -------- | -------- |
120| textureId | OPENGL ES的纹理ID,OH_NativeImage实例会与之相关联。 |
121| textureTarget | OPENGL ES的纹理目标。 |
122
123**返回:**
124
125返回一个指向**OH_NativeImage**实例的指针,否则返回**NULL**。
126
127**起始版本:**
128
1299
130
131
132### OH_NativeImage_Destroy()
133
134
135```
136void OH_NativeImage_Destroy (OH_NativeImage ** image)
137```
138
139**描述:**
140
141销毁通过OH_NativeImage_Create创建的**OH_NativeImage**实例, 销毁后该 **OH_NativeImage**指针会被赋值为空.
142
143@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage
144
145**参数:**
146
147| Name | 描述 |
148| -------- | -------- |
149| image | 指向OH_NativeImage实例的指针。 |
150
151
152### OH_NativeImage_DetachContext()
153
154
155```
156int32_t OH_NativeImage_DetachContext (OH_NativeImage * image)
157```
158
159**描述:**
160
161将OH_NativeImage实例从当前OPENGL ES上下文分离。
162
163@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage
164
165**参数:**
166
167| Name | 描述 |
168| -------- | -------- |
169| image | 指向OH_NativeImage实例的指针。 |
170
171**返回:**
172
173返回一个由**SurfaceError**定义的int32_t类型的错误码。
174
175**起始版本:**
176
1779
178
179
180### OH_NativeImage_GetTimestamp()
181
182
183```
184int64_t OH_NativeImage_GetTimestamp (OH_NativeImage * image)
185```
186
187**描述:**
188
189获取最近调用OH_NativeImage_UpdateSurfaceImage的纹理图像的相关时间戳。
190
191@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage
192
193**参数:**
194
195| Name | 描述 |
196| -------- | -------- |
197| image | 指向OH_NativeImage实例的指针。 |
198
199**返回:**
200
201返回纹理图像的相关时间戳。
202
203**起始版本:**
204
2059
206
207
208### OH_NativeImage_GetTransformMatrix()
209
210
211```
212int32_t OH_NativeImage_GetTransformMatrix (OH_NativeImage * image, float matrix[16] )
213```
214
215**描述:**
216
217获取最近调用OH_NativeImage_UpdateSurfaceImage的纹理图像的变化矩阵。
218
219@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage
220
221**参数:**
222
223| Name | 描述 |
224| -------- | -------- |
225| image | 指向OH_NativeImage实例的指针。 |
226| matrix | 用来存储要获取的4\*4的变化矩阵。 |
227
228**返回:**
229
230返回一个由**SurfaceError**定义的int32_t类型的错误码。
231
232**起始版本:**
233
2349
235
236
237### OH_NativeImage_UpdateSurfaceImage()
238
239
240```
241int32_t OH_NativeImage_UpdateSurfaceImage (OH_NativeImage * image)
242```
243
244**描述:**
245
246通过OH_NativeImage获取最新帧更新相关联的OPENGL ES纹理。
247
248@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage
249
250**参数:**
251
252| Name | 描述 |
253| -------- | -------- |
254| image | 指向OH_NativeImage实例的指针。 |
255
256**返回:**
257
258返回一个由**SurfaceError**定义的int32_t类型的错误码。
259
260**起始版本:**
261
2629
263