Как прочитать расширение PSB (Image - Photoshop) в Java? - PullRequest
1 голос
/ 31 марта 2019

Я пытаюсь загрузить изображение Андромеды Хаббла .На официальном сайте НАСА исходный источник изображения имеет расширение PSB из-за его размера.У меня есть 20 ГБ ОЗУ для загрузки этого образа в ОЗУ (куча).Как мне это сделать?

Что более важно, как система загружает разные типы изображений (условные выражения)?

Также я занимался исследованиями, и формат PSB позволяет хранить изображения размером более 2 ГБ.С другой стороны, обычные форматы (JPG) не допускают такого размера.

В настоящее время у меня есть этот код для загрузки изображения с расширением JPG в ОЗУ.

Java

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

1 Ответ

0 голосов
/ 01 апреля 2019

Я гуглил и нашел несколько интересных вариантов решения этой проблемы.Среди них есть twelvemokeys , который позволяет расширить возможности ImageIO Java, я попробовал это, и он работает, как и ожидалось, без необходимости изменять код (потому что, как я упоминал ранее, он позволяет 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 .

...