#include "l_bitmap.h"
L_LTIMGCLR_API L_INT L_ChangeBitmapHue(pBitmap、nAngle、uFlags)
pBITMAPHANDLE pBitmap; |
/* ビットマップハンドルへのポインター*/ |
L_INT nAngle; |
/*色相を変更する角度。°単位。*/ |
L_UINT32 uFlags; |
/* フラグ*/ |
カラーホイールを回転させることによって、ビットマップで色の色相を変更します。
パラメーター |
説明 |
pBitmap |
影響を受けるためにビットマップを参照文に引用するビットマップハンドルへのポインター。 |
nAngle |
色相を変更する角度。°単位。 |
uFlags |
今後使うため確保されます。0でなければなりません。 |
戻り値
SUCCESS |
関数は成功しました。 |
<1 |
エラーが発生しました。リターンコードを参照してください |
コメント
この関数は、符合付きデータイメージをサポートしません。符合付きデータイメージがこの関数に渡されるならば、それはエラーコードERROR_SIGNED_DATA_NOT_SUPPORTEDを返します。
この関数は、どちらの方向ででもカラーホイールを回転させることができます。どちらの方向でも180度の回転では各色がその補数に変更されます。正の回転では、赤が緑に、緑が青に、青が赤に向かいます。負の回転には逆の影響があります。
この関数は、12と16ビットグレースケールと48と64ビットカラーイメージをサポートします。12と16ビットグレースケールと48と64ビットカラーイメージのサポートは、DocumentとMedical画像化ツールキットで利用できます。
状況表示バーを更新するか、この関数の実行の間、ユーザー割り込みを検出するために、L_SetStatusCallbackを参照します。
この関数は、32ビットグレースケールイメージをサポートしません。32ビットグレースケールimageがこの関数に渡されるならば、それはエラーコードERROR_GRAY32_UNSUPPORTEDを返します。
必須のDLLとライブラリ
ツールキットバージョンに基づいた正確なDLLとライブラリのリストについては、「アプリケーションとともに配布するファイル」を参照してください。 |
Win32、x64、Linux。
参照
サンプル
完了したサンプルコードについては、DEMOサンプルのCHILD.Cモジュールを参照します。このサンプルはビットマップをロードして、その色相を変更します。
#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName L_LTIMGTEX_API L_INT ChangeBitmapHueExample(L_VOID) { L_INT nRet; BITMAPHANDLE LeadBitmap; /* Bitmap handle to hold the loaded image. */ /* Load the bitmap, keeping the bits per pixel of the file */ nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT("IMAGE1.CMP")), &LeadBitmap, sizeof(BITMAPHANDLE), 0, ORDER_BGR, NULL, NULL); if(nRet !=SUCCESS) return nRet; /* Change each color to its complement */ nRet = L_ChangeBitmapHue(&LeadBitmap, 180 , 0); 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; }