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 位图转换为 DIB,并使用 L_ConvertFromDIB() 创建了一个新的 LeadTool 位图

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 设备独立位图 (DIB) 时,视图透视图通常为 BOTTOM_LEFT。对于 TIFF 文件格式,它几乎可以是任何视图透视图,具体取决于 TIFF 本身中的方向标记。

如果您希望图像具有特定的方向,您始终可以在加载或转换图像后通过调用“L_ChangeBitmapViewPerspective”来更改视图透视。有关更多信息,请阅读我们帮助文件中的 L_ChangeBitmapViewPerspective() 函数主题。

于 2014-06-12T12:51:02.163 回答