Java图形库

时间:2009-09-26 07:35:24

标签: java graphics image-manipulation

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

这适用于服务器端组件。一种操纵各种网络格式(png,jpg,gif等)图像的服务。

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

以下是几个用例:

  • 调整图像大小并裁剪图像。如果它具有“智能调整大小”或“智能裁剪”,那将是很酷的,例如修剪缝的大小,或通过照片中的兴趣点裁剪
  • 在图像上绘制艺术文字。使用字体,颜色,文字效果(三维文字,木炭和其他效果)
  • 嵌入水印。
  • 分层图像,使用图像作为背景,使用图像进行遮罩等。
  • 图像识别,例如 - 颜色数,stdev等。

如上所述,其Graphics2D中的Java支持上述所有内容,但是级别太低,所以我正在寻找一些更好用的东西。

谢谢!

4 个答案:

答案 0 :(得分:8)

Java高级成像(JAI)听起来像你想要的。来自网站:

  

Java Advanced Imaging API提供   一组面向对象的接口   支持简单,高级别   编程模型,让你   轻松操控图像。

我发现使用起来相对简单。而且性能优于旋转ImageMagic流程。

答案 1 :(得分:1)

使用ImageJ。除了作为一个整洁的程序,它还可以用作库。

答案 2 :(得分:0)

答案 3 :(得分:0)

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