首页 > 解决方案 > 如何在 Java 中读取 PSB 文件扩展名(图像 - Photoshop)?

问题描述

我正在尝试加载哈勃的仙女座图片。在 NASA 官方网站中,原始图像源由于其大小而具有 PSB 扩展名。我有 20 GB 的 RAM 来将此图像加载到 RAM(堆)中。我该怎么做呢?

更重要的是,系统如何加载不同的图像类型(条件)?

另外,我正在研究,PSB格式允许您存储大于2GB的图像。另一方面,传统格式 (JPG) 不允许这样的大小。

目前,我有这段代码可以在 RAM 中加载带有 JPG 扩展名的图像。

爪哇

BufferedImage nasaImage = ImageIO.read(new File(path));

标签: javaphotoshop

解决方案


我在谷歌上搜索,发现了几个有趣的选项来解决这个问题。其中有12 个允许扩展 Java 的 ImageIO 功能的十二个键,我尝试了它,它按预期工作,无需修改代码(因为正如我之前提到的,它允许 ImageIO 扩展其功能)。最后,他们在模块化不同图像格式的扩展方面做得很好。

马文

 <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>

爪哇

与 PSB 图像的路径相同的代码。

BufferedImage nasaImage = ImageIO.read(new File(path));

记住图片大小的问题,查看十二猴推荐


推荐阅读