2

LeadTools API を使用して画像を読み込む場合、ViewPerspective の初期値はどうなりますか?

以下のコード スニペットを使用した実験では、常に BOTTOM_LEFT (4) であることがわかりました。

BITMAPHANDLE LeadBitmap2;
L_INT nRet = L_ConvertFromDIB(&LeadBitmap2, sizeof(BITMAPHANDLE), (BITMAPINFO*)pucTestBuffer, pDIBits);
// Here LeadBitmap2.ViewPerspective was BOTTOM_LEFT

BITMAPHANDLE LeadBitmapChanged;
L_ChangeBitmapViewPerspective(&LeadBitmapChanged, &LeadBitmap2, sizeof(BITMAPHANDLE), TOP_LEFT);
// Here LeadBitmapChanged.ViewPerspective was TOP_LEFT as expected.

ここでは、パースペクティブを変更した LeadTool Bitmap を DIB に変換し、L_ConvertFromDIB() を使用して新しい LeadTool Bitmap を作成しました。

L_HDIB hDIB = L_ConvertToDIB(&LeadBitmapChanged, DIB_BITMAPINFOHEADER);
unsigned char* pBmi = (unsigned char*)::GlobalLock(hDIB);

BITMAPHANDLE LeadBitmap4;
nRet = L_ConvertFromDIB(&LeadBitmap4, sizeof(BITMAPHANDLE), (BITMAPINFO*)pBmi, 
    pBmi + sizeof(BITMAPHANDLE) + ((BITMAPINFO*)pBmi)->bmiHeader.biClrUsed * sizeof(RGBQUAD));

ここで、LeadBitmap4.ViewPerspective は再び BOTTOM_LEFT でした。LeadTools を使用して画像をロードするとき、常に BOTTOM_LEFT であると想定できますか? LeadTools のドキュメントは、ViewPerspective のデフォルト/初期値について何も述べていません。

4

1 に答える 1

1

ビューのパースペクティブはすべての画像で固定されているわけではなく、画像形式によって異なります。たとえば、PNG ファイル形式のディスクをロードする場合、ビューのパースペクティブは TOP_LEFT になります。Windows BMP ファイルをロードする場合、または Windows Device Independent Bitmap (DIB) を変換する場合、ビューのパースペクティブは通常 BOTTOM_LEFT です。TIFF ファイル形式の場合、TIFF 自体の方向タグに応じて、ほぼすべてのビュー パースペクティブにすることができます。

画像を特定の向きにしたい場合は、画像をロードまたは変換した後に「L_ChangeBitmapViewPerspective」を呼び出すことで、ビューのパースペクティブをいつでも変更できます。詳細については、ヘルプ ファイルの L_ChangeBitmapViewPerspective() 関数のトピックを参照してください。

于 2014-06-12T12:51:02.163 に答える