java - 如何在 Java 中合并图像而不将它们加载到 RAM 中

标签 java image memory bufferedimage

我有一个非常大(大约 10 亿像素)的图像,我正在尝试生成,到目前为止,在出现内存不足错误之前,我只能在 BufferedImage 中创建最大约 40 兆像素的图像。我想一 block 一 block 地构建图像,然后将这些片段组合起来, 不将图像加载到内存中。我也可以通过将每个片段写入一个文件来做到这一点,但 ImageIO 不支持这一点。

最佳答案

我认为JAI可以帮助您构建您想要的。我建议查看 JAI 提供的数据结构和流。

此外,看看这些问题,可能会对您的想法有所帮助。

  1. > How to save a large fractal image with the least possible memory footprint
  2. > How to create a big image file from many tiles
  3. > Appending to an Image File

你基本上想在那里反转 2。
祝你的项目好运 ;)

关于java - 如何在 Java 中合并图像而不将它们加载到 RAM 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7668628/

相关文章:

java - 使用 varargs 参数调用重载方法时的 Nashorn 错误

java - SimpleDateFormat(无法解析的异常)

css - Wordpress 发布图像(详细信息)默认类

c - 如何连接指针数组

c++ - 在 Delphi 中使用 SecureZeroMemory

java - Java 9 编译器中的 --release 标志是什么?

java - 删除未使用的字段是否会导致垃圾回收?

java - itext7 的绝对位置

image - 将图像转换为数据,反之亦然

c++ - 内存中的浮点表示对我来说不清楚