【问题标题】:How to add java.awt.image package in Android如何在 Android 中添加 java.awt.image 包
【发布时间】:2011-09-14 17:42:23
【问题描述】:

我有一个依赖于java.awt.Image 包的外部库。但是,Android 库不包含它。有人知道如何将它添加到Android吗? 谢谢!

【问题讨论】:

  • Android 有自己的图像例程(android.graphics),在资源有限的硬件上效率更高。请说明您想用java.awt.image 做什么,因为它可能已经可用,而您只是不熟悉它在内置库中的位置。
  • 您可以发布您正在使用的导入代码吗?
  • @Mark Allison:我正在使用 ImageJ 库,它基本上依赖于 java.awt.image 包。由于Android没有这个包,所以不能使用ImageJ库。 ImageJ 库非常强大,有很多我需要的图像处理操作。
  • @Thomas Owers:导入 ij.IJ;导入 ij.io.Opener;导入 ij.ImagePlus;导入 ij.ImageJ;只是导入一个外部库,但它依赖于 java.awt.image 包
  • 你没有试过 import java.awt.Image; ?

标签: android image jar


【解决方案1】:

Java AWT 类包含本机代码,因此除非有人将该本机代码移植到 Android,否则您将不走运。而且,他们不会移植它,因为正如上面所指出的,Android 有自己的图形库 (android.graphics)。

【讨论】:

  • 如果是这样,我想我不能使用现有的图像处理库。
  • 对,您将无法使用 ImageJ。你需要在你的应用程序中做什么?很有可能存在涵盖您的用例的现有 Android API。
  • @michaelg 我需要在 Android 中实现 SIFT 算法。 java中有一个已实现的sift,它是ImageJ的一个插件。这就是我想使用 ImageJ 的原因。您为我的应用推荐什么 Android API?
【解决方案2】:

使用 JavaCV。 http://code.google.com/p/javacv/ 它已经为 Android 2.2 预编译:http://code.google.com/p/javacv/downloads/list

【讨论】:

    【解决方案3】:

    这个答案是为了在看到选票后证明 Hitesh 的答案是正确的(这会误导)。如有错误请指正。

    嗯,我也热衷于在 Android 中使用 Java 的一些核心概念,例如 Swings 和 AWT 库。

    最近我想使用java.awt.Color 类,因为它比android.graphics.Color 好得多。因此,通过阅读少量线程进行了一项小型研究,并得出结论为“不,我们无法导入”。通过看到 Hitesh 的回答,我认为我的研究失败了,并为我的问题找到了最简单的解决方案。按照示例的步骤运行我的代码。唉!!!

    NoClassDefFoundError 抛出异常。

    再次为得出 Jeffrey(已接受)答案进行了小型研究。我找到了结论hereloadLibraries() 方法上方的评论解释了一切。此方法已在 Color 类(第 279 行)中调用。

    【讨论】:

      【解决方案4】:

      https://stackoverflow.com/a/33210293/5418475

      Android 不支持 AWT 包,您需要更改实现以使用 Android 类。

      查看以下类似问题:

      将 AWT 图形代码移植到 Android

      如何在Android中添加java AWT镜像包

      在 Android 中使用 AWT

      【讨论】:

      • 正确的做法是将问题标记为重复,或者只是评论(当你有足够的代表时),而不是复制答案......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-04
      相关资源
      最近更新 更多