【问题标题】:How to create a huge .png in Java joining smaller .pngs?如何在 Java 中创建一个巨大的 .png 加入较小的 .png?
【发布时间】:2017-09-21 07:38:33
【问题描述】:

我在一个文件夹中有很多小.png,我想把它们合并在一起,问题是最终的Buffered图像太大,导致OutOfMemoryException(大于32k x 32k);

有没有一种方法可以创建该图像而不必初始化一个巨大的 BufferedImage,而只是像一次加载一个小的 .png,并将其附加到磁盘上的另一个图像,依此类推,直到图像完成了吗?

如果不是,如何处理?

【问题讨论】:

  • 显示您的代码。或者查看 JVM 启动标志 (-Xmx),
  • 考虑 ImageMagickim4java wrapper library 从 java 调用 ImageMagick 函数。
  • 聪明和配对图像,一次合并2个,然后第一轮的2个产品等等......看看这个答案可以帮助你完成第1步:@987654323 @
  • @diginoise 这就是我实际处理的方式,问题是我的最终 BufferedImage 太大了。
  • 你给这个进程多少内存?

标签: java image out-of-memory png


【解决方案1】:

您可以尝试PNGJ,它可以让您逐行读取和写入PNG图像。

Snippets 中有一个示例(图像平铺),它将多个相同大小的图像放在一起。

【讨论】:

  • 谢谢,这正是我想要的!
猜你喜欢
  • 2013-03-13
  • 2017-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-07
  • 2020-02-20
  • 2020-08-18
  • 2011-04-24
相关资源
最近更新 更多