使用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的默认/初始值。
答案 0 :(得分:1)
视图透视图并非针对所有图像固定,而是取决于图像格式。例如,在加载PNG文件格式磁盘时,视图透视图将为TOP_LEFT。 对于加载Windows BMP文件,或转换Windows设备独立位图(DIB)时,视图透视图通常为BOTTOM_LEFT。 对于TIFF文件格式,它几乎可以是任何视图透视图,具体取决于TIFF本身的方向标记。
如果您希望图像具有特定方向,则可以在加载或转换图像后通过调用“L_ChangeBitmapViewPerspective”来更改视图透视图。 有关更多信息,请阅读帮助文件中L_ChangeBitmapViewPerspective()函数的主题。