我正在尝试加载Andromeda picture of Hubble。在NASA官方网站上,原始图像源因其尺寸而具有PSB扩展名。我有20 GB的RAM可以将该图像加载到RAM(堆)中。我该怎么做?
更重要的是,系统如何加载不同的图像类型(条件)?
我也在研究,PSB格式允许您存储大于2GB的图像。另一方面,常规格式(JPG)不允许这样的大小。
当前,我有这段代码可以在RAM中加载带有JPG扩展名的图像。
BufferedImage nasaImage = ImageIO.read(new File(path));
答案 0 :(得分:0)
我正在使用Google搜索,发现了一些有趣的选项来解决此问题。其中有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。