【问题标题】:Camera crashes due to crop code one line, how to crop in standard way由于一行裁剪代码导致相机崩溃,如何以标准方式裁剪
【发布时间】:2015-07-05 20:16:23
【问题描述】:

我的应用程序由于camera.putExtra("crop", "true"); 而崩溃我假设这是由于一些愚蠢的不一致的供应商相机驱动程序或其他原因......我猜是分散市场的乐趣。

如果这不起作用,我该如何裁剪?最好在屏幕上有裁剪方块来指导用户。有标准的~99% 证明方法吗?

【问题讨论】:

  • 就像 Kay 说的,它是一个调用应用程序的 Intent,它不是安装在每台设备上的。您可以做的是,如果未安装,则捕获异常并提示用户安装该应用程序。
  • 它是仅在画廊选择的图像上崩溃还是相机和画廊都选择了?
  • 谢谢 Opiatefuchs。 @ Vishwajit Palankar,我对图库选项有疑问,但我认为它不相关,当相机保存拍摄的图像时它会崩溃,没有额外的解决问题但是如何裁剪?

标签: android camera crop


【解决方案1】:

【讨论】:

  • thx - 我使用了第一个链接,复制并粘贴并修改了一个或两个东西,然后繁荣。处理一个问题,但要解决它,稍后会更新该帖子
【解决方案2】:

Android 中没有裁剪意图!!

来自https://commonsware.com/blog/2013/01/23/no-android-does-not-have-crop-intent.html

许多开发人员正在使用 com.android.camera.action.CROP 的操作对 Intent 调用 startActivity()。他们这样做是为了裁剪图像。

这是一个非常糟糕的主意。

在这种特定情况下,AOSP 相机应用支持此 Intent 操作。该应用程序并非在所有设备上都存在。缺少此应用的设备将不会响应此未记录的 Intent 操作,您的应用将崩溃。

进一步阅读:Explanation of Android Code Camera Intent + Croping Images

本质上,上述意图会在某些设备上崩溃。

我敢打赌,如果 commonsware 的作者看到这篇文章,他会解释得更好。

【讨论】:

    【解决方案3】:

    我假设这是由于一些愚蠢的不一致的供应商相机驱动程序或其他原因......我猜是分散市场的乐趣。

    主要是因为这不是 Android SDK 的一部分。任何相机应用都不需要支持随机的Intent extras。

    如果这不起作用,我该如何裁剪?

    使用a library。或者编写自己的图像裁剪引擎。

    【讨论】:

    • 它不需要rew来支​​持随机意图,但它应该返回大于-1。还有……写一个作物引擎?所以以前没有人尝试过裁剪?
    • @Fearghal:“它不需要重新编写以支持随机意图,但它应该返回大于 -1” - 欢迎您尝试强制所有相机应用程序作者遵守满足您对随机附加功能的要求。 “所以以前没有人尝试过收割吗?” -- 目前有六个库,位于the link from my answer。您可以通过单击链接来判断。 如果这些库都不符合您的要求,那么您将需要编写自己的图像裁剪代码。
    • 哦,您编辑的部分 - “使用库”链接已失效 :(
    • @Fearghal:答案和评论中的链接都可以正常工作。您的浏览器或您的 Internet 连接出现问题。
    猜你喜欢
    • 2013-07-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 2018-12-23
    • 2020-05-05
    • 2016-12-27
    相关资源
    最近更新 更多