【问题标题】:Crop picture on Android phone [closed]在 Android 手机上裁剪图片 [关闭]
【发布时间】:2017-07-05 18:48:24
【问题描述】:

有一个问题。

谁能给我一些示例,说明如何为 Android 编写图像裁剪功能(从相机库中拍照)?我发现了很多员工的例子,比如: 意图cropIntent = new Intent("com.android.camera.action.CROP"); 但是,这种方法不适用于所有手机。 图书馆也不适合我的情况。

提前谢谢你!

【问题讨论】:

  • “库也不适合我的情况”——为什么不呢? Android 中的一切都基于库。如果不出意外,许多image cropping libraries 是开源的,因此您可以使用它们来学习如何编写自己的代码。
  • 因为据我所知,大多数第三方库都针对 23 sdk,而我需要构建裁剪功能的项目针对 api 21。将其更改为 api 23 只会使事情变得混乱(:
  • @Kasparas 你需要了解targetSDK和minSDK的区别。 target 是它编写的工具版本。 Min 是可以使用的最小值。目标 SDK 在 23 左右以及最低到中青少年的情况下不仅可以接受而且非常正常。实际上,您甚至不必查看库的目标,只需查看最低限度。此外,我想不出裁剪库依赖的后续 SDK 中添加的任何功能。
  • @Kasparas 你很幸运能得到 CommonsWare 的第一条评论
  • 库的compileSdkVersiontargetSdkVersion 都不会影响您的应用。 minSdkVersionmost of those librariesminSdkVersion 远低于 21。如果您在使用其中一个库时遇到问题,请提出单独的 Stack Overflow 问题,在其中提供 minimal reproducible example 演示问题并详细解释你的问题是什么。

标签: java android crop


【解决方案1】:

我真的不明白你为什么不想在你的应用程序中使用库。您为什么要花这么多时间重写和处理所有边缘情况有人已经做过的事情?

这里有一些很棒的裁剪库。我在生产环境中使用过这些产品,有超过 10 万的用户,从来没有遇到过崩溃或任何问题。

1) uCrop

2)android-crop

3)Android Image Cropper

如果您仍然不相信并想自己制作,那么您应该开始查看这些项目的代码。 它们是开源的

此外,不可能在一个 SO 答案中解释制作图像裁剪器的所有细节。

【讨论】:

  • 嘿,我在上一条评论中解释了我不愿意使用库(:
  • 所提到的库都没有最低 SDK 版本 21。您可以轻松使用它们。希望它能解决你的问题。如果是这样,请考虑接受答案。
  • 我实际上使用了您在列表中提供的 nr.3,它给了我在上一条评论中写下的错误。老实说,我不知道我应该如何解决它。我已经问过一个关于它的问题,但没有得到任何体面的答案。
  • 我建议您多尝试第一个或第二个。我目前在我的两个项目中同时使用它们。
  • 实际上我昨天尝试了 uCrop,它给了我同样的问题。如果我将目标设置为并将两者都编译为 api 21,则会得到确切的错误。
猜你喜欢
  • 1970-01-01
  • 2012-11-08
  • 1970-01-01
  • 1970-01-01
  • 2016-01-19
  • 2016-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多