L_InvertedTextBitmap

# include“l_bitmap.h”

L_LTIMGCOR_APIL_INTL_InvertedTextBitmap (pBitmap、pInvertedText pfnCallback、pUserData uFlags)

发现并修改反向文本领域1比特黑白图像。

参数

pBITMAPHANDLEpBitmap

位图句柄指针引用的位图找到反向文本。

pINVERTEDTEXTpInvertedText

指针INVERTEDTEXT结构LEADTOOLS用来发现和正确的反向文本。

INVERTEDTEXTCALLBACKpfnCallback

可选的回调函数进行额外的处理。

如果你不提供一个回调函数,使用NULL作为该参数的值。如果你提供一个回调函数,使用函数指针作为该参数的值。

回调函数必须遵守所描述的函数原型INVERTEDTEXTCALLBACK函数。

L_VOID* pUserData

空指针,您可以使用它通过一个或多个回调函数需要额外的参数。

要使用该功能,赋值给一个变量或创建一个结构,其中包含你需要的尽可能多的领域。然后,在这个参数,通过变量的地址或结构,铸造L_VOID *。回调函数,接收地址的pUserData参数,可以把它适当的数据类型的指针来访问变量或结构。

如果不需要额外的参数,该参数可以传递NULL。

L_UINT32uFlags

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

返回

价值 意义
成功 函数是成功的。
< 1 一个错误发生。指返回代码

评论

这个函数不支持已签名的数据图像。它返回错误代码ERROR_SIGNED_DATA_NOT_SUPPORTED如果签名数据图像是传递给这个函数。

(文档)这个函数发现并修改反向文本领域中常见的扫描文本文档。下面是一个反向文本的例子:

图像\ Invert1.gif

修改的反向文本收益率以下领域:

图像\ Invert2.gif

这个函数的行为可以通过修改它的回调。

这个函数只能在1比特的黑白图像。

如果一个地区被选中,只有选择的地区将会改变了这个函数。如果没有选中区域,整个图像处理。

这个函数不支持32位灰度图像。它返回错误代码ERROR_GRAY32_UNSUPPORTED如果一个32位的灰度图像是传递给这个函数。

必需的dll和库

平台

Win32 x64, Linux。

另请参阅

功能

主题

例子

这个例子中找到所有反向文本区域大于5英寸宽度和1/2英寸高
和反转文本,这样看起来正常。
回调用于显示关于反向文本区域的附加信息。
回调不返回一个地区。
函数返回的领先地区是显示所有的变化。

L_INT EXT_CALLBACK InvertedTextCB (HRGN HRGN, PRECT pBoundingRect, L_INT32 iWhiteCount, L_INT32 iBlackCount, L_VOID * pUserData){UNREFERENCED_PARAMETER (pUserData);L_TCHAR szMsg [200];/ /注意:没有hRgn删除,因为它没有要求矩形rcRect;GetRgnBox (hRgn &rcRect);wsprintf (szMsg,文本(区域范围:左= % d,右= % d,顶级= % d,底部= % d \ n "),rcRect。离开了,rcRect。rcRect。前,rcRect.bottom);OutputDebugString (szMsg);DeleteObject (hRgn);wsprintf (szMsg文本(“大小(%)% d) \ tBounds [% d % d] [% d % d] \ tWhiteCount [% d] \ tBlackCount % d \ n”),pBoundingRect - >左,pBoundingRect - >,pBoundingRect - >对,pBoundingRect - >,iWhiteCount,iBlackCount);OutputDebugString (szMsg);返回SUCCESS_REMOVE;}L_INT InvertedTextBitmapExample (pBITMAPHANDLE pBitmap){L_INT32 nRet;BITMAPHANDLE BitmapRegion;INVERTEDTEXT;memset (&BitmapRegion 0运算符(BITMAPHANDLE));它。uStructSize =运算符(INVERTEDTEXT);/ /单位是英寸的四舍五入它。iMinInvertWidth = 6000;它。iMinInvertHeight = 375;它。iMinBlackPercent = 75;它。iMaxBlackPercent = 95;它。pBitmapRegion = &BitmapRegion;它。uBitmapStructSize =运算符(BITMAPHANDLE);它。uFlags = INVERTEDTEXT_SINGLE_REGION | INVERTEDTEXT_LEAD_REGION | INVERTEDTEXT_USE_DPI | INVERTEDTEXT_CALLBACK_REGION;nRet = L_InvertedTextBitmap (pBitmap,创新性,InvertedTextCB,零(0);如果(nRet = =成功){矩形rectRgn;/ /删除现有的地区L_FreeBitmapRgn (pBitmap);nRet = L_GetBitmapRgnBounds(它。零,pBitmapRegion &rectRgn);如果(nRet ! =成功)返回nRet;如果(! IsRectEmpty (&rectRgn)){nRet = L_CopyBitmapHandle (pBitmap it.pBitmapRegion,运算符(BITMAPHANDLE));如果(nRet ! =成功)返回nRet;}}其他的{返回nRet;}返回成功;}

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