_o_h___native_image.md 6.2 KB
Newer Older
Z
zengyawen 已提交
1 2 3 4 5 6 7 8 9
# OH_NativeImage


提供NativeImage功能。


@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage


Z
zengyawen 已提交
10
**起始版本:**
Z
zengyawen 已提交
11 12 13 14 15 16 17 18 19 20 21 22


9


## 汇总


### 文件

| 文件名称 | 描述 |
| -------- | -------- |
Z
zengyawen 已提交
23
| [native_image.h](native__image_8h.md) | 定义获取和使用NativeImage的相关函数。<br>引用文件:<native_image/native_image.h> |
Z
zengyawen 已提交
24 25 26 27 28 29


### 函数

| 函数名称 | 描述 |
| -------- | -------- |
Z
zengyawen 已提交
30 31 32 33 34 35 36 37
| [OH_NativeImage_Create]( #oh_nativeimage_create) (uint32_t textureId, uint32_t textureTarget) | 创建一个**OH_NativeImage**实例,该实例与OPENGL ES的纹理ID和纹理目标相关联。 |
| [OH_NativeImage_AcquireNativeWindow]( #oh_nativeimage_acquirenativewindow) (OH_NativeImage \*image) | 获取与OH_NativeImage相关联的OHNativeWindow指针. 该OHNativeWindow后续不再需要时需要调用 OH_NativeWindow_DestroyNativeWindow释放。 |
| [OH_NativeImage_AttachContext]( #oh_nativeimage_attachcontext) (OH_NativeImage \*image, uint32_t textureId) | 将OH_NativeImage实例附加到当前OPENGL ES上下文, 且该OPENGL ES纹理会绑定到 GL_TEXTURE_EXTERNAL_OES, 并通过OH_NativeImage进行更新。 |
| [OH_NativeImage_DetachContext]( #oh_nativeimage_detachcontext) (OH_NativeImage \*image) | 将OH_NativeImage实例从当前OPENGL ES上下文分离。 |
| [OH_NativeImage_UpdateSurfaceImage]( #oh_nativeimage_updatesurfaceimage) (OH_NativeImage \*image) | 通过OH_NativeImage获取最新帧更新相关联的OPENGL ES纹理。 |
| [OH_NativeImage_GetTimestamp]( #oh_nativeimage_gettimestamp) (OH_NativeImage \*image) | 获取最近调用OH_NativeImage_UpdateSurfaceImage的纹理图像的相关时间戳。 |
| [OH_NativeImage_GetTransformMatrix]( #oh_nativeimage_gettransformmatrix) (OH_NativeImage \*image, float matrix[16]) | 获取最近调用OH_NativeImage_UpdateSurfaceImage的纹理图像的变化矩阵。 |
| [OH_NativeImage_Destroy]( #oh_nativeimage_destroy) (OH_NativeImage \*\*image) | 销毁通过OH_NativeImage_Create创建的**OH_NativeImage**实例, 销毁后该 **OH_NativeImage**指针会被赋值为空。 |
Z
zengyawen 已提交
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62


## 详细描述


## 函数说明


### OH_NativeImage_AcquireNativeWindow()


```
OHNativeWindow* OH_NativeImage_AcquireNativeWindow (OH_NativeImage * image)
```

**描述:**

获取与OH_NativeImage相关联的OHNativeWindow指针。该OHNativeWindow后续不再需要时需要调用 OH_NativeWindow_DestroyNativeWindow释放。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage

**参数:**

| Name | 描述 |
| -------- | -------- |
Z
zengyawen 已提交
63
| image | 指向OH_NativeImage实例的指针。 |
Z
zengyawen 已提交
64 65 66 67 68

**返回:**

成功则返回一个指向OHNativeWindow实例的指针,否则返回**NULL**

Z
zengyawen 已提交
69
**起始版本:**
Z
zengyawen 已提交
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

9


### OH_NativeImage_AttachContext()


```
int32_t OH_NativeImage_AttachContext (OH_NativeImage * image, uint32_t textureId )
```

**描述:**

将OH_NativeImage实例附加到当前OPENGL ES上下文,且该OPENGL ES纹理会绑定到 GL_TEXTURE_EXTERNAL_OES,并通过OH_NativeImage进行更新。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage

**参数:**

| Name | 描述 |
| -------- | -------- |
| image | 指向OH_NativeImage实例的指针。 |
| textureId | OH_NativeImage要附加到的OPENGL ES纹理的id。 |

**返回:**

返回一个由**SurfaceError**定义的int32_t类型的错误码。

Z
zengyawen 已提交
98
**起始版本:**
Z
zengyawen 已提交
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126

9


### OH_NativeImage_Create()


```
OH_NativeImage* OH_NativeImage_Create (uint32_t textureId, uint32_t textureTarget )
```

**描述:**

创建一个**OH_NativeImage**实例,该实例与OPENGL ES的纹理ID和纹理目标相关联。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage

**参数:**

| Name | 描述 |
| -------- | -------- |
| textureId | OPENGL ES的纹理ID,OH_NativeImage实例会与之相关联。 |
| textureTarget | OPENGL ES的纹理目标。 |

**返回:**

返回一个指向**OH_NativeImage**实例的指针,否则返回**NULL**

Z
zengyawen 已提交
127
**起始版本:**
Z
zengyawen 已提交
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174

9


### OH_NativeImage_Destroy()


```
void OH_NativeImage_Destroy (OH_NativeImage ** image)
```

**描述:**

销毁通过OH_NativeImage_Create创建的**OH_NativeImage**实例, 销毁后该 **OH_NativeImage**指针会被赋值为空.

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage

**参数:**

| Name | 描述 |
| -------- | -------- |
| image | 指向OH_NativeImage实例的指针。 |


### OH_NativeImage_DetachContext()


```
int32_t OH_NativeImage_DetachContext (OH_NativeImage * image)
```

**描述:**

将OH_NativeImage实例从当前OPENGL ES上下文分离。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage

**参数:**

| Name | 描述 |
| -------- | -------- |
| image | 指向OH_NativeImage实例的指针。 |

**返回:**

返回一个由**SurfaceError**定义的int32_t类型的错误码。

Z
zengyawen 已提交
175
**起始版本:**
Z
zengyawen 已提交
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202

9


### OH_NativeImage_GetTimestamp()


```
int64_t OH_NativeImage_GetTimestamp (OH_NativeImage * image)
```

**描述:**

获取最近调用OH_NativeImage_UpdateSurfaceImage的纹理图像的相关时间戳。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage

**参数:**

| Name | 描述 |
| -------- | -------- |
| image | 指向OH_NativeImage实例的指针。 |

**返回:**

返回纹理图像的相关时间戳。

Z
zengyawen 已提交
203
**起始版本:**
Z
zengyawen 已提交
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231

9


### OH_NativeImage_GetTransformMatrix()


```
int32_t OH_NativeImage_GetTransformMatrix (OH_NativeImage * image, float matrix[16] )
```

**描述:**

获取最近调用OH_NativeImage_UpdateSurfaceImage的纹理图像的变化矩阵。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage

**参数:**

| Name | 描述 |
| -------- | -------- |
| image | 指向OH_NativeImage实例的指针。 |
| matrix | 用来存储要获取的4\*4的变化矩阵。 |

**返回:**

返回一个由**SurfaceError**定义的int32_t类型的错误码。

Z
zengyawen 已提交
232
**起始版本:**
Z
zengyawen 已提交
233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259

9


### OH_NativeImage_UpdateSurfaceImage()


```
int32_t OH_NativeImage_UpdateSurfaceImage (OH_NativeImage * image)
```

**描述:**

通过OH_NativeImage获取最新帧更新相关联的OPENGL ES纹理。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeImage

**参数:**

| Name | 描述 |
| -------- | -------- |
| image | 指向OH_NativeImage实例的指针。 |

**返回:**

返回一个由**SurfaceError**定义的int32_t类型的错误码。

Z
zengyawen 已提交
260
**起始版本:**
Z
zengyawen 已提交
261 262

9