java - 如何在 Java 中读取 PSB 文件扩展名(图像 - Photoshop)?
问题描述
我正在尝试加载哈勃的仙女座图片。在 NASA 官方网站中,原始图像源由于其大小而具有 PSB 扩展名。我有 20 GB 的 RAM 来将此图像加载到 RAM(堆)中。我该怎么做呢?
更重要的是,系统如何加载不同的图像类型(条件)?
另外,我正在研究,PSB格式允许您存储大于2GB的图像。另一方面,传统格式 (JPG) 不允许这样的大小。
目前,我有这段代码可以在 RAM 中加载带有 JPG 扩展名的图像。
爪哇
BufferedImage nasaImage = ImageIO.read(new File(path));
解决方案
我在谷歌上搜索,发现了几个有趣的选项来解决这个问题。其中有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));
记住图片大小的问题,查看十二猴推荐。
推荐阅读
- c# - Visual Studio 中没有错误,代码执行但 C# 不正确(更新!String.Insert 中的问题)
- python - 读取大型 .h5 文件时出现内存错误
- python-3.x - 如何告诉 pip3 在下载和安装 python3 包时更喜欢下载(和安装)轮子文件而不是 tar.gz
- c - 为什么输入某些内容并按回车后scanf不会停止
- apache - 添加 SSL 证书后 Apache 无法启动
- arrays - 根据序列号列表创建具有设备逻辑名称的阵列
- jquery - CSRF 令牌不匹配 Laravel 5..8
- jquery - 在 ReactJs 中使用依赖于 jQuery 的库?
- python - 如何在给定条件下生成所有可能的组合以提高效率?
- android - 在 Android 应用程序中,如何尽快处理大的 xml 文件?充气需要太多时间(6 秒)