Java 图形库

12

我正在寻找一个高级的Java图形库,用于创建艺术文字、水印、调整大小、裁剪、图像识别和操作。

ImageMagic是这样一个库的一个很好的例子,但其Java端口有一些问题(它们要么通过JNI运行imagemagic,要么通过命令行运行,尝试在服务器上部署会比较困难)。

理想情况下,我希望拥有与ImageMagic类似的功能,但是纯Java和开源,可以免费使用。

有人见过类似的东西吗?

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

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

以下是几个用例:

  • 调整大小和裁剪图像。如果它具有“智能调整大小”或“智能裁剪”,那将很酷,例如基于感兴趣的点进行缝合雕刻调整大小或裁剪。
  • 在图像上绘制艺术字。使用字体、颜色、文本效果(3D文字、木炭和其他效果)
  • 嵌入水印。
  • 使用图像作为背景,利用图像进行遮罩等叠加图像的操作。
  • 图像识别,例如颜色数量、标准差等。

如上所述,在其Graphics2D方面,Java支持上述所有功能,但是它过于低级,因此我正在寻找更易于使用的东西。

谢谢!


我使用过一些处理图像的包,这些包依赖于http://java.sun.com/javase/technologies/desktop/media/jai/。但我不确定它是否能够满足你的所有需求。 - TJR
4个回答

8

Java高级图像处理(JAI)听起来是您想要的。从网站上可以看到:

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

我发现使用它相对简单。而且性能比启动ImageMagic进程更好。


根据我的经验(在计算机视觉和图形方面),它表现得非常好。 - monksy

1
使用ImageJ。除了是一个很棒的程序外,它还可以作为一个库来使用。

0

我实际上正在寻找一个位图操作包,而不是矢量包,因此SVG和EMF都似乎不太合适 :( - Ran

0

使用原始的Java2D可以很容易地进行调整大小和裁剪(只需确保您按2的幂次减少大小,后端不会自动处理此操作)。我发现JAI仅在我的用途中用于颜色量化...管道的其余部分似乎对基本功能来说是不必要的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接