L_SliceBitmap

# include“l_bitmap.h”

L_LTIMGCOR_APIL_INTL_SliceBitmap(pBitmap, pOptions, pnDeskewAngle, pfnCallback, pUserData, uFlags)

从射线扫描胶片中提取单个切片。

参数

pBITMAPHANDLEpBitmap

指向位图句柄的指针,该句柄引用要切片的位图。

pSLICEBITMAPOPTIONSpOptions

指向SLICEBITMAPOPTIONS结构,LEADTOOLS用来切片位图。

L_INT* pnDeskewAngle

NULL或要更新的变量的地址与函数旋转切片位图的量。旋转的量以百分之一度表示。例如,500表示顺时针5度。如果不需要检查旋转量,可以传递NULL。只有当从pSLICEBITMAPOPTIONS标志参数中选择SLC_DESKEW时,该字段才会更新。

BITMAPSLICECALLBACKpfnCallback

指向用于检索每个片的数据和信息的回调函数的指针。此回调函数必须返回正数或错误码(负数)。如果它返回一个错误代码,切片过程将停止,代码将作为返回代码返回。类中描述的函数原型BITMAPSLICECALLBACK函数。

L_VOID* pUserData

可用于传递回调函数所需的一个或多个附加参数的空指针。要使用此特性,请为变量赋值或创建包含所需字段的结构。然后,在这个参数中,传递变量或结构的地址,将其强制转换为L_VOID *。回调函数在自己的pUserData形参中接收地址,可以将其转换为适当数据类型的指针以访问变量或结构。如果不需要附加参数,则可以在此参数中传递NULL。

L_UINT32uFlags

保留以备将来使用。必须是0。

返回

价值 意义
成功 活动很成功。
< 1 发生错误。指返回代码

评论

此函数不支持签名数据映像。如果将签名数据图像传递给该函数,则返回错误代码ERROR_SIGNED_DATA_NOT_SUPPORTED。

该函数用于从射线扫描胶片中提取单个切片。下图显示了应用L_SliceBitmap函数之前和之后的这些射线图像示例,其中我们使用输出数据在每个单独的切片周围画一条白线。

图像\ BeforeSliceBitmap.gif

函数调用前的影片

图像\ AfterSliceBitmap.gif

函数调用后的影片

若要在执行此函数期间更新状态栏或检测用户中断,请参阅L_SetStatusCallback

该功能支持12位和16位灰度和48位和64位彩色图像。支持12位和16位灰度以及48位和64位彩色图像文件和医疗成像工具包。

此函数不支持32位灰度图像。如果将32位灰度图像传递给该函数,则返回错误代码ERROR_GRAY32_UNSUPPORTED。

必需的dll和库

平台

Win32, x64, Linux。

另请参阅

功能

主题

例子

类型定义结构体tagSLICEBITMAPUSERINFOL_TCHAR SlicesFolder [L_MAXPATH];L_UINT SlicesCount;SLICEBITMAPUSERINFO, * pSLICEBITMAPUSERINFO;L_INT EXT_CALLBACK (pBITMAPHANDLE pBitmap)LPRECT lpSliceRect,L_INT得到,L_VOID * pUserData)pSLICEBITMAPUSERINFO pSlicesUserInfo;L_TCHAR szDirectory [L_MAXPATH];L_TCHAR S [30];L_INT nRet;UNREFERENCED_PARAMETER (lpSliceRect);UNREFERENCED_PARAMETER(南);pSlicesUserInfo = (pSLICEBITMAPUSERINFO) pserdata;lstrcpy (szDirectory pSlicesUserInfo - > SlicesFolder);lstrcat (szDirectory、文本(" \ \ "));wsprintf(年代,文本(“% d.bmp”), (pSlicesUserInfo - > SlicesCount));lstrcat (szDirectory S);nRet = L_SaveFile(szDirectory, pBitmap, FILE_BMP, 24, 0, SAVEFILE_FIXEDPALETTE, NULL, NULL, NULL);如果(nRet == SUCCESS)pSlicesUserInfo - > SlicesCount + +;L_FreeBitmap (pBitmap);GlobalFreePtr (pBitmap);返回成功;L_INT SliceBitmapExample(HWND HWND, pBITMAPHANDLE pBitmap, LPSTR SlicesFolder)SLICEBITMAPOPTIONS选项;SLICEBITMAPUSERINFO用户数据;L_INT nRet;L_tchar s [30] = text ("");L_TCHAR Message[512] = TEXT("");选项。uStructSize =运算符(SLICEBITMAPOPTIONS);//倾斜切片图像,倾斜角度在-5到5度之间选项。uFlags= SLC_DESKEW|SLC_DSKW_LINEAR|SLC_CUTSLICES;选项。uMaxDeskewAngle = 500;选项。crFill = RGB(0,0,0);memcpy(用户数据。SlicesFolder, L_MAXPATH);用户数据。SlicesCount = 0;nRet = L_SliceBitmap(pBitmap, &Options, NULL, ExampleSliceCB, (L_VOID *)(&UserData), 0);如果(nRet == SUCCESS)lstrcpy(消息、文本(切片图像的个数为));wsprintf(年代,文本(“% d”), (UserData.SlicesCount));lstrcat(Message, S);消息框(hWnd, Message, TEXT(“SliceBitmap榜样”), MB_OK);其他的返回nRet;返回成功;
栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。