1# OH_ComponentSnapshot 2 3 4## 概述 5 6本模块提供获取组件截图的能力。 7 8**起始版本:** 15 9 10## 汇总 11 12### 结构体 13 14| 名称 | 描述 | 15| -------- | -------- | 16| struct [ArkUI_SnapshotOptions](native__type_8h.md#ArkUI_SnapshotOptions) | 截图选项。 | 17 18### 函数 19 20| 名称 | 描述 | 21| -------- | -------- | 22| int32_t [OH_ArkUI_GetNodeSnapshot](native__node_8h#OH_ArkUI_GetNodeSnapshot) () | 获取给定组件的截图,若节点不在组件树上或尚未渲染,截图操作将会失败。当pixelmap不再使用时,应通过调用OH_PixelmapNative_Release来释放。 | 23| ArkUI_SnapshotOptions [OH_ArkUI_CreateSnapshotOptions](native__type_8h#OH_ArkUI_CreateSnapshotOptions) () | 创建一个截图选项,当返回值不再使用时必须通过`OH_ArkUI_SnapshotOptions_Dispose`释放。 | 24| void [OH_ArkUI_DestroySnapshotOptions](native__type_8h#OH_ArkUI_DestroySnapshotOptions) () | 销毁截图选项指针。 | 25| int32_t [OH_ArkUI_SnapshotOptions_SetScale](native__type_8h#OH_ArkUI_SnapshotOptions_SetScale) () | 配置截图选项中的缩放属性。 | 26 27### 创建快照选项 28 29## 类型定义说明 30 31### ArkUI_SnapshotOptions 32 33``` 34typedef struct ArkUI_SnapshotOptions ArkUI_SnapshotOptions; 35``` 36 37**描述** 38 39定义截图的可选项。 40 41**起始版本:** 15 42 43## 函数说明 44 45### OH_ArkUI_GetNodeSnapshot() 46 47``` 48int32_t OH_ArkUI_GetNodeSnapshot(ArkUI_NodeHandle node, ArkUI_SnapshotOptions* snapshotOptions, 49 OH_PixelmapNative** pixelMap) 50``` 51 52**描述** 53 54获取节点的快照像素图。 55 56**起始版本:** 15 57 58**参数:** 59 60| 名称 | 参数 | 61| --------------- | ------------------------------------------------------------ | 62| node | 截图的目标节点。 | 63| snapshotOptions | 给定的截图配置,为空时表示默认配置。 | 64| pixelmap | 通过系统创建的Pixelmap指针。 | 65 66**返回:** 67 68| 返回值 | 描述 | 69| --------------------------------------------- | -------------- | 70| `ARKUI_ERROR_CODE_NO_ERROR` | 成功。 | 71| `ARKUI_ERROR_CODE_PARAM_INVALID` | 函数参数异常。 | 72| `ARKUI_ERROR_CODE_INTERNAL_ERROR` | 截图失败,将返回空指针。 | 73| `ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT` | 截图超时。 | 74 75 76### OH_ArkUI_CreateSnapshotOptions() 77 78``` 79ArkUI_SnapshotOptions* OH_ArkUI_CreateSnapshotOptions() 80``` 81 82**描述** 83 84创建一个截图选项,当返回值不再使用时必须通过`OH_ArkUI_SnapshotOptions_Dispose`释放。 85 86**起始版本:** 15 87 88**返回:** 89 90| 返回值 | 描述 | 91| ------------------------ | ------------------------------------------------------------ | 92| `ArkUI_SnapshotOptions*` | 返回指向创建的截图选项对象的指针。如果对象返回空指针,则表示创建失败,失败的原因可能是地址空间已满。 | 93 94 95### OH_ArkUI_DestroySnapshotOptions() 96 97``` 98void OH_ArkUI_DestroySnapshotOptions(ArkUI_SnapshotOptions* snapshotOptions) 99``` 100 101**描述** 102 103销毁截图选项指针。 104 105**起始版本:** 15 106 107**参数:** 108 109| 名称 | 描述 | 110| --------------- | ---- | 111| snapshotOptions | 截图选项。 | 112 113### OH_ArkUI_SnapshotOptions_SetScale() 114 115``` 116int32_t OH_ArkUI_SnapshotOptions_SetScale(ArkUI_SnapshotOptions* snapshotOptions, float scale) 117``` 118 119**描述** 120 121配置截图选项中的缩放属性 122 123**起始版本:** 15 124 125**参数:** 126 127| 名称 | 描述 | 128| -------- | -------- | 129| snapshotOptions | 截图选项。 | 130| scale | 缩放值。 | 131 132**返回:** 133 134| 返回值 | 描述 | 135| -------------------------------- | ---------- | 136| `ARKUI_ERROR_CODE_NO_ERROR` | 成功。 | 137| `ARKUI_ERROR_CODE_PARAM_INVALID` | 函数参数异常。<br> 异常原因:传入参数验证失败,参数不能为空。 |