相机 API:跨设备问题

2024-04-26

我正在开发一个相机应用程序,基本上作为消息传递应用程序的一部分来附加图像等。该应用程序需要适用于 >= SDK 2.2 并且:

I can't尽可能多地使用默认的 Android 相机,因为:

  1. 该应用程序的性质决定了图像不应保存到磁盘上,一些 OEM(三星)喜欢这样做,而不给您选择。

  2. 我无法调用任何其他相机应用程序可以拦截的意图,因为这样该应用程序就可以保存图像。

我当前的问题是处理 Android 相机显然讨厌纵向的事实。具体来说,经过一番挖掘后,我正在监视显示屏,并轮流调用setDisplayOrientation(90)。这可行,但表面视图尺寸也需要更改,并且必须在支持的尺寸内完成,否则参数设置会使应用程序崩溃。

我正在用我发现的另一个 SO 片段来做这个here https://stackoverflow.com/questions/5540981/picture-distorted-with-camera-and-getoptimalpreviewsize (the getBestPreviewSize()方法),但它有一个明显的问题,我不敢相信我没有发现其他人也有这个问题。

的一部分takePicture生命周期涉及调用PostView图片回调。这是显示当前暂停的静止图像的内容SurfaceView将通过 byteArray 返回到 raw 和/或 jpeg 回调的图像。我的问题是,这个图像在一些看似随机的测试设备上仍然是倾斜的!因此,行为是用户看到完美的 4:3 宽高比的动态相机图像,直到他们拍照并且呈现的图像被压扁。请注意,字节数组本身是正确的,当我构造Bitmap在消息传递端点,它显示得很好,但这仍然是一个问题。

此时我不知道如何改变静态图像显示。谁能帮我这个?


Android相机系统一团糟。并且焊接到主板上后,相机芯片不会像肖像应用程序那样 - 所有回调都会在相机方向上溢出数据(您收到的缓冲区实际上是与本机相机应用程序共享的内存块) - 如果您想在应用程序运行时显示它在肖像模式下,您必须翻转此数据xy.

我不会在相机使用的表面视图上显示图像,而是用透明覆盖它ImageView并在那里绘制我的位图。

您可能(希望)在其中找到一些灵感javaocr项目 http://sourceforge.net/projects/javaocr/Android 守护进程在纵向模式下工作并通过实时预览绘制位图。 (请从git,因为它现在正在发布,我正在努力使用 git 和 maven,请参阅演示目录)

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

相机 API:跨设备问题 的相关文章

随机推荐

  • “找不到符号:方法”但该方法已声明

    在我的驱动程序中 这一行给了我cannot find symbol错误 我不知道为什么 该方法在SavingsAccount类 我可以引用我的驱动程序中的所有其他方法 但不是那个方法 我尝试将类型更改为double等但仍然无法正常工作 Ac
  • 是否可以在 C# 中观察 Rss feed 变化?

    我想创建一个服务来监听一些 Rss 提要并将新提要解析为 json 以供进一步使用 是否可以观察饲料的变化 如果可以 那么如何观察 thanks 查看System ServiceModel Syndicate SynminationFeed
  • 检查 Laravel 控制器中的多个守卫

    我在 laravel 中创建了三种类型的守卫 我可以检查身份验证用户 但我们有一些对所有用户都相同的路由和控制器 我需要为每种类型的登录用户检查相同路由或控制器中的所有守卫 我的 auth php 文件看起来像这样
  • 如何在ios中以编程方式安排事件?

    我的任务是编写一个应用程序 允许用户安排将来发送的电子邮件 用户从日期选择器中选择日期时间 撰写消息和收件人 然后安排事件 当日期 时间出现时 消息就会被发送出去 有人可以指导我如何安排日程安排吗 比如说短信 我知道如何发送短信 只是不确定
  • AWS lambda 基本身份验证,无需自定义授权者

    我在为用 Node js 编写的 AWS lambda 函数设置基本身份验证时遇到问题 问题 AWS lambda 函数是附加服务的代理 该函数仅转发整个请求并向用户提供整个响应 这就是为什么我需要强制使用Authentication标题
  • 理解同构字符串算法

    我理解以下代码来查找字符串是否同构 该代码使用两个哈希值s dict and t dict分别 我假设字符串的长度相同 def isIsomorphic s t s dict t dict for i in range len s if s
  • Flutter 中使用 BLoC 的异步请求

    我想下载数据 但也一直使用该应用程序 你能告诉我这是否是正确的解决方案 情况是我们按下下载按钮并调用函数 bloc dispatch Event download 在 Download 事件的 mapEventToState 中 我们请求数
  • Python 列表顺序

    在我编写的小脚本中 append 函数将输入的项目添加到列表的开头 而不是该列表的末尾 正如你可以清楚地理解的那样 我对 Python 很陌生 所以对我宽容一些 list append x 将项目添加到列表末尾 相当于a len a x 这
  • 如何捕获按下 HTML5 视频元素的默认全屏按钮时的全屏事件?

    我在使用 HTML5 时遇到问题video标签和iconic 这是我的模板的一部分
  • 将 .aar 和 .jar 文件嵌入库中

    我将创建一个包装许多蓝牙设备 SDK jar 和 aar 文件 的 android 库 aar 此文件无法在 Maven 或替代存储库中发布 点击这些链接 link1 https stackoverflow com a 60888941 5
  • 使用 PHP 将未知行数插入 MySQL

    我正在尝试使用 PHP 将未知数量的行插入到 MySQL 中 它应该是这样工作的 Javascript 解析 HTML DOM 以创建基于 css 类的多维数组 该数组将具有一定数量的行 或子数组 与具有该类的元素数量相对应 这可以是任何
  • 使用代码将 Google Apps 脚本函数分配给 Google 表格图像

    使用代码将 GOOGLE APPS 脚本功能分配给图像 通过单击 Google 表格中的图像并选择 分配脚本 选项 就可以实现这一点 但这是一项手动任务 我想将其自动化 可以将图像插入 Google 表格并使用 Apps 脚本代码分配函数
  • 如何在 Vaadin 7 表中实现滚动监听器

    在 Vaadin 中 当您在表格中向下或向上滚动时 com vaadin ui Table 不会触发任何事件来告诉您用户正在滚动 为什么我们需要在表格中滚动事件 我们先来看看 Vaadin 这个例子 仪表板演示 http demo vaad
  • 扩展会员提供者

    设想 构建一个供公司输入信息的应用程序 我需要扩展 ASP NET 中的内置成员资格提供程序 我的独特情况是 我已经拥有每家公司的人口统计信息 但没有网络应用程序的用户 ID 和密码 我想用人口统计信息预先填充数据库 向每个公司发送一个唯一
  • 使用另一个表中的唯一值创建一个表

    我正在使用 MS SQL Server Management Studio 我有桌子 Num ID Alpha ID 1 A 1 B 1 C 2 B 2 C 3 A 4 C 5 A 5 B 我想创建另一个包含该表中 2 列的表 以便 col
  • Angular 6 HttpClient - CORS 问题

    我的 Nodejs Restful 服务有以下端点http localhost 3000 api countries http localhost 3000 api countries 我正在使用这个中间件https github com
  • arm-thumb指令集的blx指令如何支持4MB范围

    读自https www keil com support man docs armasm armasm dom1361289866046 htm https www keil com support man docs armasm arma
  • B2C认证不返回access_token

    我正在尝试使用 PKCE 一个有角度的项目来实现授权代码流 我正在使用 angular auth oidc client 我们已经有一个基于 IdentityServer4 的现有内部实施 客户端可以很好地配合该实施 但我们现在正在尝试将身
  • 您的应用程序正在使用具有不安全的 openFile 实现的内容提供程序

    在 Playstore 上发布我的应用程序后 我收到了这封电子邮件 您好 Google Play 开发者 我们审查了包名为 com example myappname 的 MyAppName 发现您的应用使用的软件包含用户安全漏洞 具有这些
  • 相机 API:跨设备问题

    我正在开发一个相机应用程序 基本上作为消息传递应用程序的一部分来附加图像等 该应用程序需要适用于 gt SDK 2 2 并且 I can t尽可能多地使用默认的 Android 相机 因为 该应用程序的性质决定了图像不应保存到磁盘上 一些