我正在尝试加载 Andromeda picture of Hubble 。在 NASA 官方网站中,原始图像源由于其尺寸而具有 PSB 扩展名。我有 20 GB 的 RAM 来将此图像加载到 RAM(堆)中。我该怎么做?
更重要的是,系统如何加载不同的图像类型(条件)?
另外,我正在研究,PSB格式允许存储大于2GB的图像。另一方面,传统格式(JPG)不允许这样的尺寸。
目前,我有这段代码可以在 RAM 中加载带有 JPG 扩展名的图像。
Java
BufferedImage nasaImage = ImageIO.read(new File(path));
最佳答案
我在谷歌上搜索并发现了几个有趣的选项来解决这个问题。其中有 twelvemokeys允许扩展Java的ImageIO的功能,我尝试了一下,它按预期工作,不需要修改代码(因为正如我之前提到的,它允许ImageIO扩展其功能)。最后,他们在模块化不同图像格式的扩展方面做得非常出色。
Maven
<dependencies>
<!-- https://mvnrepository.com/artifact/com.twelvemonkeys.imageio/imageio-psd -->
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-psd</artifactId>
<version>3.4.1</version>
</dependency>
</dependencies>
Java
与PSB图像路径相同的代码。
BufferedImage nasaImage = ImageIO.read(new File(path));
记得图片大小的问题,查看twelvemonkeys recommendation .
关于java - 如何在Java中读取PSB文件扩展名(图像-Photoshop)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55437215/