【问题标题】:Java Graphics libraryJava 图形库
【发布时间】:2010-12-01 15:05:27
【问题描述】:

我正在寻找用于创建艺术文本、水印、调整大小、裁剪、图像识别和操作的高级 Java 图形库。 ImageMagic 是此类库的一个很好的例子,但它的 java 端口有些问题(它们要么通过 JNI 或通过命令行运行 imagemagic,而且部署到服务器上非常糟糕)。 理想情况下,我希望拥有与 ImageMagic 类似的功能,但纯 Java 和开源,可以免费使用。 有人见过这样的吗?

这是一个服务器端组件。一种处理各种网络格式(png、jpg、gif 等)图像的服务。

当然,Java 有自己的库(Graphics2D),但我正在寻找更高级别的东西。

这里有几个用例:

  • 调整图像大小和裁剪图像。如果它有“智能调整大小”或“智能裁剪”,那就太棒了,例如缝雕调整大小,或按照片中的兴趣点裁剪
  • 在图像上绘制艺术文字。使用字体、颜色、文字效果(3d 文字、炭笔和其他效果)
  • 嵌入水印。
  • 分层图像、使用图像作为背景、使用图像遮罩等。
  • 图像识别,例如 - 颜色数量、标准差等。

如前所述,其 Graphics2D 中的 Java 支持上述所有功能,但级别太低,因此我正在寻找更好用的东西。

谢谢!

【问题讨论】:

标签: java graphics image-manipulation


【解决方案1】:

Java 高级成像 (JAI) 听起来如您所愿。来自网站:

Java 高级成像 API 提供 一组面向对象的接口 支持简单、高级的 编程模型让你 轻松处理图像。

我发现使用起来相对简单。并且性能优于分离 ImageMagic 进程。

【讨论】:

  • 根据我的经验(对于计算机视觉和图形),它确实很棒。
【解决方案2】:

使用ImageJ。除了是一个简洁的程序外,它还可以用作库。

【讨论】:

    【解决方案3】:

    【讨论】:

    • 我实际上是在寻找一个位图操作包,而不是矢量包,所以 SVG 和 EMF 似乎都不合适:(
    【解决方案4】:

    原始 Java2D 使得调整大小和裁剪变得非常容易(只要确保减少 2 的幂,后端不会自动处理)。我只发现 JAI 对我进行颜色量化很有用......管道的其余部分对于基本功能似乎是不必要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      • 2015-07-08
      • 2015-12-14
      相关资源
      最近更新 更多