1

我正在使用 GraphicsMagick C++ api 并在部署在 tomcat 上的 java web 项目中调用它,以便在运行时动态地将图像大小从某个大小调整为给定的宽度/高度。我正在使用 C++ api 的 scale() 方法。

现在当tomcat负载不大时性能正常,但是当服务器上的连接数/负载增加时,图像调整大小的性能会大大下降。甚至每次调整大小时都会花费 30 到 40 秒。尽管系统的内存、cpu 和 io 利用率看起来很正常,一点也不差。

有人可以帮我解决这个问题吗?我将不胜感激

4

2 回答 2

0

当我们遇到类似问题时,我遇到了这个问题。但是现在我们有一个很好的解决方案。试试 gm4java + im4java: http ://kennethxu.blogspot.com/2013/04/integrate-java-and-graphicsmagick.html

于 2013-04-17T03:10:46.180 回答
0

您是否从Graphics Magick 文档中看到了这一点?

gm convert -size 120x120 cockatoo.jpg -resize 120x120 +profile "*" thumbnail.jpg

在此示例中,“-size 120x120”向 JPEG 解码器提示图像将被缩小到 120x120,从而避免将全分辨率图像返回给 GraphicsMagick 以进行后续调整大小操作,从而使其运行得更快。'-resize 120x120' 指定输出图像的所需尺寸。它将被缩放,使其最大尺寸为 120 像素。'+profile "*"' 删除任何 ICM、EXIF、IPTC 或其他可能存在于输入中且在缩略图中不需要的配置文件。

如果您当前没有使用 size 选项,您可能会注意到很大的不同。

于 2012-12-18T18:39:33.127 回答