是否有 JMagick 和 ImageBuffer/ImageIO for Java 的替代品来调整/裁剪图像?

Posted

技术标签:

【中文标题】是否有 JMagick 和 ImageBuffer/ImageIO for Java 的替代品来调整/裁剪图像?【英文标题】:Are there alternatives to JMagick and ImageBuffer/ImageIO for Java for resizing/cropping images? 【发布时间】:2011-04-29 20:36:57 【问题描述】:

我目前正在使用 ImageBuffer/ImageIO。它在 Windows 上运行良好,但由于某种原因,它在 Linux 上无法处理 PNG 文件。我不知道为什么。

我想我只需要使用另一个库。因为我是在 Windows 上开发的,所以我想要一些可以在两个系统上毫不费力地工作的东西,并且如果我可以避免它就不需要调用进程。我不想处理配置地狱,或者要求某些二进制文件存在于系统本地某个地方只是为了通过测试。

有什么可以提供帮助的,还是 ImageMagick 几乎是唯一的选择? Java 似乎没有任何处理图像的好选择:(

我还想要一些可以插入 Maven 并且可以工作的东西,就像任何其他库一样。我过去使用 java 图像库的经验告诉我,它并没有真正跟上 Maven 的速度并且有点古老(我不记得是哪个库……但我只是不想处理配置和部署老实说,问题...我只想调用一个不错的 API)。

谢谢

【问题讨论】:

png 文件可以在 Windows 上工作吗? Java Tutorial 说,PNG 总是被支持的。 也许你可以告诉我们你看到的错误? 是的,png 文件可以在 Windows 上运行。问题是在 linux (debian-lenny) 上包含 PNG 的 ImageBuffer 在应该返回 5 时调用 getType() 时返回 0。所以我只是放入了一个测试 0 并手动放入 5 的 hack。我知道这很糟糕而且很老套,但它解决了问题。 【参考方案1】:

我转而使用JAI,因为它有一些更灵活的过滤和抗锯齿功能,我在 Java 程序中调整 PNG 大小时需要这些功能。我在 Windows 或 Linux 上运行时没有遇到任何问题 - 两者似乎都运行良好。

【讨论】:

我将它与 maven 一起使用...。我可能不得不手动将 .jar 导入到我的 Maven 存储库中,我不记得了。不过,我没有遇到任何麻烦。 这就是我害怕的。你会认为他们会在上次更新 4 年后才将它添加到 maven 存储库:/ 创建和签入一个脚本,为每个人/计算机在 .m2 目录中安装 jars项目并确保它是一致的并且适用于每个人。如果他们只是将它添加到 maven 存储库,问题就可以很容易地解决:/ 只需将其添加到您企业的仓库中,然后让 Maven 将其下载到您的本地。 是的,我想,为 1 个库制作企业仓库很烦人。我喜欢抱怨。 Sun/oracle 制作了一堆 api/libraries,其中 99% 可以通过 maven 访问......但是你得到了这个 JAI 异常值,它在 4 年内没有更新并且没有好的替代品......而且它迫使人们付出大量努力才能获得它。甚至让事情顺利进行也很耗时。到那时,铁路人员已经完成了所有工作。在 Java 世界中完成如此简单的事情需要花费多长时间,这很烦人。

以上是关于是否有 JMagick 和 ImageBuffer/ImageIO for Java 的替代品来调整/裁剪图像?的主要内容,如果未能解决你的问题,请参考以下文章

FILEBUFFER TO IMAGEBUFFER

将文本内容转换为图像

如何在 nodejs 中使用 fs 模块将图像写入特定目录?

Discord.js 使用来自其他消息的附件来更新嵌入中的图像

什么是最好的 java 图像处理库/方法? [关闭]

C# 视频流操作