フレームを表示

L_InvertedPageBitmap

フレームを表示

#include "l_bitmap.h"

L_LTIMGCOR_API L_INT EXT_FUNCTION L_InvertedPageBitmappBitmap、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とライブラリ

LTIMGCOR

ツールキットバージョンに基づいた正確なDLLとライブラリのリストについては、「アプリケーションともに配布するファイル」を参照してください

ラットホーム

Win32、x64、Linux。

参照

関数:

L_DespeckleBitmap, L_BlankPageDetectorBitmap, L_AutoLineRemove

トピック:

ラスター画像は機能します:画像のフィルタリング

 

ラスター画像は機能します:Document Imaging

 

画像の処理

サンプル

#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;
}