# include“l_bitmap.h”
L_LTIMGCOR_APIL_INTL_SliceBitmap(pBitmap, pOptions, pnDeskewAngle, pfnCallback, pUserData, uFlags)
从射线扫描胶片中提取单个切片。
指向位图句柄的指针,该句柄引用要切片的位图。
指向SLICEBITMAPOPTIONS结构,LEADTOOLS用来切片位图。
NULL或要更新的变量的地址与函数旋转切片位图的量。旋转的量以百分之一度表示。例如,500表示顺时针5度。如果不需要检查旋转量,可以传递NULL。只有当从pSLICEBITMAPOPTIONS标志参数中选择SLC_DESKEW时,该字段才会更新。
指向用于检索每个片的数据和信息的回调函数的指针。此回调函数必须返回正数或错误码(负数)。如果它返回一个错误代码,切片过程将停止,代码将作为返回代码返回。类中描述的函数原型BITMAPSLICECALLBACK函数。
可用于传递回调函数所需的一个或多个附加参数的空指针。要使用此特性,请为变量赋值或创建包含所需字段的结构。然后,在这个参数中,传递变量或结构的地址,将其强制转换为L_VOID *。回调函数在自己的pUserData形参中接收地址,可以将其转换为适当数据类型的指针以访问变量或结构。如果不需要附加参数,则可以在此参数中传递NULL。
保留以备将来使用。必须是0。
价值 | 意义 |
---|---|
成功 | 活动很成功。 |
< 1 | 发生错误。指返回代码. |
此函数不支持签名数据映像。如果将签名数据图像传递给该函数,则返回错误代码ERROR_SIGNED_DATA_NOT_SUPPORTED。
该函数用于从射线扫描胶片中提取单个切片。下图显示了应用L_SliceBitmap函数之前和之后的这些射线图像示例,其中我们使用输出数据在每个单独的切片周围画一条白线。
函数调用前的影片
函数调用后的影片
若要在执行此函数期间更新状态栏或检测用户中断,请参阅L_SetStatusCallback.
该功能支持12位和16位灰度和48位和64位彩色图像。支持12位和16位灰度以及48位和64位彩色图像文件和医疗成像工具包。
此函数不支持32位灰度图像。如果将32位灰度图像传递给该函数,则返回错误代码ERROR_GRAY32_UNSUPPORTED。
必需的dll和库
Win32, x64, Linux。
类型定义结构体tagSLICEBITMAPUSERINFO
{
L_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;
}
返回成功;
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。