#include "l_bitmap.h"
L_LTIMGCOR_API L_INT EXT_FUNCTION L_InvertedPageBitmap(pBitmap、bIsInverted、uFlags)
pBITMAPHANDLE pBitmap; |
/* ビットマップハンドルへのポインター*/ |
L_BOOL * bIsInverted; |
/* 更新されるアドレス変数の世代*/ |
L_UINT uFlags; |
/* フラグ*/ |
指定されたimage(ページ)が反転されるか(白いテキストと黒色背景)どうか検出します。それがそうでないならば、それを反転することができます。
パラメーター |
説明 |
|
pBitmap |
ビットマップを参照文に引用するビットマップハンドルへのポインター。 |
|
bIsInverted |
検出結果で更新される変数の世代を申し出ます。設定可能な値は、以下の通りです。 |
|
|
値 |
意味 |
|
True |
imageは反転されます。 |
|
False |
imageは、反転されません。 |
uFlags |
imageを反転するべきかどうか、そして、どのようにそれをするべきか示すFlags。設定可能な値は、以下の通りです。 |
|
|
値 |
意味 |
|
INVERTEDPAGE_PROCESS |
[0x00000000]、imageを反転します。 |
|
INVERTEDPAGE_NOPROCESS |
[0x00000001]、imageを反転しません。通常、このフラグは、imageが反転されるかどうか見つけるのに用いられます。 |
INVERTEDPAGE_EXCLUDE_BORDER | [0x00000002]、ホワイトまたはブラック境界を計算から除外します。 | |
INVERTEDPAGE_USE_ZONES | [0x00000004]、高度なバージョンは、反転する前に図の画像を検出することがとてもできます。このオプションは、他のオプションより遅くなります。このフラグが、INVERTEDPAGE_EXCLUDE_BORDERで使われることができません。 |
戻り値
SUCCESS |
関数は成功しました。 |
<1 |
エラーが発生しました。リターンコードを参照してください |
コメント
この関数は、符合付きデータイメージをサポートしません。符合付きデータイメージがこの関数に渡されるならば、それはエラーコードERROR_SIGNED_DATA_NOT_SUPPORTEDを返します。
uFlagsがINVERTEDPAGE_NOPROCESSを格納するならば、imageを反転することなく、関数は結果でbIsInvertedを更新します。
状況表示バーを更新するか、この関数の実行の間、ユーザー割り込みを検出するために、L_SetStatusCallbackを参照します。
この関数は、12と16ビットグレースケールと48と64ビットカラーイメージをサポートしません。imageが12と16ビットグレースケールと48と64ビットカラーであるならば、関数はエラーを返しません。
この関数は、32ビットグレースケールイメージをサポートしません。32ビットグレースケールimageがこの関数に渡されるならば、それはエラーコードERROR_GRAY32_UNSUPPORTEDを返します。
必須のDLLとライブラリ
ツールキットバージョンに基づいた正確なDLLとライブラリのリストについては、「アプリケーションとともに配布するファイル」を参照してください。 |
プラットホーム
Win32、x64、Linux。
参照
関数: |
L_DespeckleBitmap, L_BlankPageDetectorBitmap, L_AutoLineRemove |
トピック: |
|
|
|
|
サンプル
#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName L_LTIMGTEX_API L_INT InvertedPageBitmapExample(L_VOID) { L_INT nRet; BITMAPHANDLE LeadBitmap; /* Bitmap handle to hold the loaded image. */ L_BOOL IsInverted; /* the boolean that will hold the value of (Is the page inverted or not) */ /* Load the bitmap, keeping the bits per pixel of the file */ nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT("OCR1.TIF")), &LeadBitmap, sizeof(BITMAPHANDLE), 0, ORDER_BGR, NULL, NULL); if(nRet !=SUCCESS) return nRet; nRet = L_InvertedPageBitmap(&LeadBitmap, &IsInverted, INVERTEDPAGE_PROCESS); if(nRet !=SUCCESS) return nRet; nRet = L_SaveBitmap(MAKE_IMAGE_PATH(TEXT("Result.BMP")), &LeadBitmap, FILE_BMP, 24, 0, NULL); if(nRet !=SUCCESS) return nRet; //free bitmap if(LeadBitmap.Flags.Allocated) L_FreeBitmap(&LeadBitmap); return SUCCESS; }