ENUMMARKERSCALLBACK

# include“l_bitmap.h”

L_INTpEXT_CALLBACKYourFunction (uMarker、uMarkerSize pMarkerData、pUserData pfnLEADCallback, pLEADUserData)

处理每一个标记提供了通过调用L_EnumMarkers函数。

参数

L_UINTuMarker

值表示标记的类型传递给回调函数。可能的值是0 xe0和以0 xfe之间的范围。其他值是可能的。来确定标记类型是允许的,指的是JPEG格式的规范。

L_UINTuMarkerSize

类型的标记表示的大小uMarker在字节。

请注意:当插入JPEG使用标记数据pfnLEADCallback参数,JPEG标记的最大大小不应超过65533字节(0 xfffd)。

L_UCHAR* pMarkerData

一个空指针,您可以使用它们来访问一个变量或结构包含的数据相关的标记表示uMarker,你的回调函数的需要。这给了你一个接收数据的方式间接地使用这个回调函数的函数。这个参数是必要的前提uMarkerSize> 0。至少应该标记数据uMarkerSize字节。

请记住,这是一个空指针,必须投到适当的数据类型在你的回调函数。

L_VOID* pUserData

一个空指针,您可以使用它们来访问一个变量或结构包含你的回调函数需要的数据。这给了你一个接收数据的方式间接地使用这个回调函数的函数。(这是同一个指针的pUserData参数传入L_EnumMarkers函数)。

请记住,这是一个空指针,必须投到适当的数据类型在你的回调函数。

LEADMARKERCALLBACKpfnLEADCallback

回调函数编写每个枚举标记。调用这个函数,如果你想在当前位置插入额外的标记。

ENUMMARKERSCALLBACK调用这个回调函数,因为它被每一个标记的处理。LEADTOOLS提供的回调函数,并将坚持中描述的函数原型LEADMARKERCALLBACK函数

L_VOID* pLEADUserData

你应该通过空指针pfnLEADCallback如果你直接调用它。

返回

价值 意义
成功 复制当前标记生成的标记集合。这导致标记时将hMarkers引用的集合L_EnumMarkers函数成功返回。继续列举剩下的标记。
SUCCESS_IGNOREMARKER 忽视当前的标记。当前的标记将被删除从生成的标记集合。继续列举剩下的标记。
SUCCESS_IGNOREALLMARKERS 忽视当前标记和所有剩余的标记。中止枚举,无需编写任何其他标记。
SUCCESS_IGNORETHISCOPYALL 忽视当前标记但是复制所有剩下的标记生成的标记集合。中止枚举但复制所有剩余的标记
SUCCESS_ABORT 复制这个剩余的标记。中止枚举。

评论

这个函数将呼吁每一个标记出现在处理。返回成功离开当前标记的标记集合。返回SUCCESS_IGNOREMARKER从集合中删除当前标记。

调用pfnLEADCallback插入一个新的标记当前标记前集合。JPEG标记的最大大小是65533字节(0 xfffd)。插入数据超过65533字节,将数据分解成几个JPEG标记,每个标记大小不超过65533字节。

必需的dll和库

另请参阅

功能

主题

例子

这个例子将演示如何插入标记后当前的标记。
我将插入一个APP2 APP1标记后标记
APP2_marker_size和APP2_marker_data描述APP2标记数据。

L_INT APP2_marker_size;L_UCHAR * APP2_marker_data;/ /替换变量#定义xe1 APP1 0#定义APP2 xe2 0L_INT EXT_CALLBACK MyCallback (L_UINT uMarker,L_UINT uMarkerSize,L_UCHAR * pMarkerData,L_VOID * pUserData,L_UINT uTransform,LEADMARKERCALLBACK pfnLEADCallback,L_VOID * pLEADUserData){UNREFERENCED_PARAMETER (uTransform);UNREFERENCED_PARAMETER (pUserData);L_INT nRet;如果(APP1 uMarker = =){/ *写APP1数据通过调用pfnLEADCallback * /nRet = pfnLEADCallback (uMarker uMarkerSize、pMarkerData pLEADUserData);如果(nRet ! =成功)返回nRet;/ *写APP2。你可以叫多次函数如果你需要写多个标记。确保你用变量替换APP2_marker_size和APP2_marker_data * /nRet = pfnLEADCallback (APP2 APP2_marker_size、APP2_marker_data pLEADUserData);如果(nRet ! =成功)返回nRet;/ *不写当前的标志,因为我已经做到了* /返回SUCCESS_IGNOREMARKER;}* / / *保护标志返回成功;}

LEADTOOLS光栅成像C API的帮助
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。