Directdraw:旋转视频流

2023-12-10

Problem

Windows Mobile / Directdraw:旋转视频流

视频预览正在工作,我现在需要的只是旋转图像的方法。我认为处理这个问题的唯一方法是编写一个基于的自定义过滤器CTransformFilter这将为您旋转相机图像。如果你能帮我解决这个问题,例如通过帮助我用我有限的 DirectDraw 知识开发这个过滤器,赏金就是你的了。

背景/上一个问题

我目前正在为移动设备(HTC HD2、Windows Mobile 6)开发应用程序。该程序需要做的事情之一是使用内置相机拍照。之前我用的是CameraCaptureDialog由 Windows Mobile 6 SDK 提供,但我们的客户想要一个更加用户友好的解决方案。

这个想法是在控件中预览相机的视频流,并在单击该控件时使用相机的照片功能拍摄高分辨率照片(> = 2 兆像素)。我们对此主题进行了一些研究,发现实现此目的的最佳方法似乎是使用 Direct Draw。

缺点是我从未真正使用过任何本机 Windows API,而且我的 C++ 水平相当糟糕。除此之外,我在某处读到 HTC 手机的 Direct Draw 支持特别糟糕,您将不得不使用未记录的本机 HTC 库调用来拍摄高质量的照片。

好消息是,一家公司邀请我们开发符合上述规格的控件。他们估计大约需要 10 天,这引发了我们是否可以在合理的时间内自行开发这种控制的讨论。

现在我的工作是研究哪种替代方案更好。不用说,学习整体的时间太少了建筑学并开发一个演示,这让我提出了以下问题:

问题不再相关!

  • 你们中有人有类似项目的经验吗?您有什么建议?
  • 是否有一个很好的 Direct Draw 源代码示例来处理视频预览和图像捕获?

如果您查看 EZRGB24 示例,您就会了解简单视频转换过滤器的基础知识。

您需要对示例执行两件事,以使其达到您想要的效果。

1)您需要将x,y复制到y,x。
2) 您需要告诉媒体样本,样本现在是高度 x 宽度,而不是宽度 x 高度。

请记住,最终图像将具有完全相同的像素数。

解决1比较简单。您可以通过执行“x + (y * Width)”来计算像素的位置。因此,您可以通过这种方式逐步计算每个 x 和 y 的位置,然后将其写入“y + (x * Height)”。这将转置图像。当然,如果没有步骤2,这看起来会完全错误。

要解决问题 2,您需要获取输入样本的 AM_MEDIA_TYPE。然后,您需要找出 formatType 是什么(可能是 FormatType_VideoInfo 或 FormatType_VideoInfo2)。因此,您可以将 AM_MEDIA_TYPE 的 pbFormat 成员强制转换为 VIDEOINFOHEADER 或 VIDEOINFOHEADER2 (取决于 FormatType)。您现在需要将 VIDEOINFOHEADER[2]::bmiHeader.biWidth 和 biHeight 设置为输入媒体样本的 biHeight 和 biWidth(分别)。其他所有内容都应与输入 AM_MEDIA_TYPE 相同。

我希望这能有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Directdraw:旋转视频流 的相关文章

随机推荐

  • time.strptime() - 参数 0 必须是 str,而不是字节

    显然我已经知道了strftime and strptime不喜欢字节字符串作为参数 但是我在这里陷入困境 因为我需要读取其中保存了不同字符编码的文件内容 并且我需要处理所有它们 并发送每个文件的时间部分该文本文件中的行strptime 一个
  • Json.NET 反序列化 Mongo ObjectId 给出了错误的结果

    我使用官方 Mongo C 驱动程序和 RestSharp 通过 Json NET 调用 Rest Api 来执行序列化 反序列化 假设我有一个 Person 类 如下所示 我想对其进行 POST 和 GET public class Pe
  • R 应用错误 - as.matrix.data.frame() 中的错误

    我遇到了一个莫名其妙的错误 我正在使用以下函数删除任何列中包含 NA 观察值的数据帧的行 removes NA d rows from a dataFrame wipeNArows lt function X rowsToDelete lt
  • 使用 PHP 和 JSON 将图像数据从 XCode 插入 MySQL 数据库

    如何使用 JSON 通过 PHP 从 XCode 在 MySQL 数据库中插入 存储图像 从 xcode 中 您可以 void uploadImage UIImage image NSData imageData UIImageJPEGRe
  • 如何使用 ionic 将 URL 中的图像保存到设备照片库中?

    我是 ionic 的新手 我正在应用程序中使用 ionic 开发应用程序 当用户单击下载按钮时 我需要将图像下载到用户设备 我进行了很多搜索 但找不到任何合适的解决方案 您可以使用Transfer plugin from ionic nat
  • 如何在 Mongoose 中检索嵌入文档中数组的最后一个对象?

    我在编写查询来检索 Story 文档中嵌入的 Comments 数组的最后一个对象时遇到问题 当我执行 db stories find 时 我的集合当前看起来像这样 id ObjectId 55d3a39565698bbc68079e31
  • XMPP 聊天应用程序因使用 VoIP 服务作为后台模式而被拒绝

    我已经完成了一个 XMPP 聊天应用程序 其中我使用 Voip 服务来获取 Voip 密钥 以便在我在后台时接收聊天消息 功能一切正常 但应用程序商店拒绝该应用程序 响应如下 2 16 多任务应用程序只能将后台服务用于其预期目的 VoIP
  • iPad 上模态视图上显示不需要的 SplitView

    在 iPad 上测试我的第一个 SwiftUI 应用程序时 我发现从 ContentView 显示的模态视图在 iPad 上显示为拆分视图 主侧的 UI 被截断 详细信息侧为空 我确实在这里检查了两篇文章 不需要的分割视图 and UISp
  • 读取csv文件c#

    有没有办法将 csv 文件读入矩阵 这样文件中的每个方块都将是矩阵中的一个单元格 有许多开源 CSV 阅读器 而且编写自己的代码也很容易 首先请访问 codeplex com http kbcsv codeplex com 或者Codepr
  • 使用 D3.js 对折线图中的线条进行动画处理

    我有我的折线图 有 2 条线 绘制折线图的数据是从 csv 文件中提取的 谁能解释一下我如何从一个空图表开始 当我单击一个按钮时 我的线条在图表上有动画效果吗 提前致谢 var Button d3 select button var mar
  • 我无法在 R 中安装软件包

    当我尝试在 Rstudio 中安装任何软件包时 我收到以下错误消息 Error in install packages path 1 C Users javad Documents Rhistory win library 3 2 The
  • 处理来自 api 调用的文件下载

    在反应中 我正在根据 John Culviner 中提到的解决方案测试我的文件下载这个帖子 axios post api downloadMyFile data then response gt const url window URL c
  • jQuery.datepicker.formatDate 和时区偏移

    为了处理日期 我使用 jQuery UIpublic我的应用程序中的方法 jQuery datepicker formatDate 请参阅此处的参数和来源 https github com jquery jquery ui blob mas
  • 在 ASP.NET MVC 5 中将整个对象从视图传递到控制器

    有没有办法将整个对象从 ASP NET MVC 5 视图传递到控制器 这是我的情况 我有一个显示数据库表中所有行的视图 视图的模型是 IEnumerable 每行数据后面都有一个链接 可通往支架式 UPDATE 视图 有没有办法将整个对象传
  • C#/IRS ACA - 使用 WCF 4.5 发送带有 MTOM 附件和 GZip 编码的 Web 服务请求

    我们正在尝试通过公开的 Web 服务将数据发送到 IRS 以进行 ACA 数据传输 但由于安全标头中时间戳和签名元素的顺序 我们无法使 WSE 3 0 方法发挥作用 当 TimeStamp 元素出现在 Signature 元素之前时 IRS
  • Windows 上的 Pyusb - 没有可用的后端

    我正在尝试通过 USB 将我的 Python 应用程序接口与 NFC 设备连接 最好的选择似乎是PyUSB 但我无法让它连接到 libusb 后端 我不断得到 ValueError 没有可用的后端 我查看了堆栈跟踪 发现usb backen
  • 具有多次重复的 scikit-learn GridSearchCV

    我正在尝试为 SVR 模型获取最佳参数集 我想使用GridSearchCV超过不同的值C 然而 从之前的测试中 我注意到训练 测试集的划分极大地影响了整体性能 在本例中为 r2 为了解决这个问题 我想实现重复的 5 倍交叉验证 10 x 5
  • C# 中的 CS0649 错误

    代码中存在一个我找不到的错误 某些变量根本无法工作 我收到的警告 CS0649 字段 Calculations A 从未分配 并且始终具有默认值 0 ABC Formule path Calculations cs CS0649 字段 Ca
  • Ruby 哈希值总和

    我有一个哈希数组 players id gt 1 name gt Alda dice count gt 5 hand gt 6 5 2 4 3 id gt 2 name gt Gonzalo dice count gt 5 hand gt
  • Directdraw:旋转视频流

    Problem Windows Mobile Directdraw 旋转视频流 视频预览正在工作 我现在需要的只是旋转图像的方法 我认为处理这个问题的唯一方法是编写一个基于的自定义过滤器CTransformFilter这将为您旋转相机图像