我设法预览了相机的视频流,但图像旋转了 90° 到横向模式。我现在正在寻找一种将相机图像旋转回正常状态的方法,但问题是我什至不知道从哪里开始:这是在 DDSURFACEDESC 结构中的 VideoCaptureFilter、VideoInfoHeader 中完成的吗?只能通过使用额外的过滤器来完成旋转吗?是滤镜设置吗?
问问题
1108 次
1 回答
1
我发现这通常是使用 BI_SRCPEROTATE 标志完成的:
开发了一个特殊标志 (BI_SRCPEROTATE),它告诉 GDI 和视频渲染器来自相机的图像的方向是正确的方向(渲染时不要旋转)。这是必要的,因为当您在设备上旋转外壳时,您也会物理地旋转设备。当显示驱动程序旋转位图以呈现外壳和 UI 时,它需要知道不应旋转此特定位图。该标志被或'd 到 BITMAPINFO 结构中的 biCompression 字段中。
示例代码可能如下所示:
pVih->bmiHeader.biCompression &= ~BI_SRCPREROTATE;
但是,此方法不适用于我正在使用的 HTC HD2,但它可能适用于其他设备,因此我决定将此添加到我的问题中。
于 2010-02-23T14:59:26.130 回答