Поддержка больших изображений

Поддержка больших изображений

Поскольку стандартная библиотека Java имеет некоторые ограничения по размеру изображения, которое может обрабатывать, мы представили новый механизм для поддержки больших изображений. Новый подход преодолевает данные ограничения, но из-за ограничений по размеру данных максимальные поддерживаемые размеры для создания и загрузки составляют 2 147 483 647 x 2 147 483 647 пикселей.

Работа с большими изображениями

Aspose.PSD имеет улучшенную производительность и поддержку больших изображений. Изображения размером в сотни мегабайт больше не являются проблемой, поэтому вы можете создавать, загружать и рисовать поверх этих изображений. Однако из-за частичной обработки и обработки исключений OutOfMemoryException производительность может быть очень низкой при очень больших изображениях. Это связано с тем, что Aspose.PSD пытается перераспределить меньшее количество данных для обработки, и каждый шаг перераспределения очень дорогой. Преимущества новой архитектуры очевидны:

  • Нет ограничений по размеру изображения.
  • Вы не ограничены доступной памятью на вашем компьютере.

Если вы столкнетесь с медленной обработкой, рекомендуется увеличить общее количество оперативной памяти, чтобы разместить все пиксели в памяти. В противном случае обработка возможна, но медленнее. Подход следующий:

  • Вызовите метод LoadPartialPixels с желаемым прямоугольником и делегатом для получения указанных загруженных пикселей.

Aspose.PSD пытается загрузить весь прямоугольник.

  • Если есть достаточно памяти для размещения всех пикселей, то все пиксели просто возвращаются вызывающей стороне.
  • Если памяти недостаточно, вызывающая сторона получает подмножество пикселей изнутри указанного прямоугольника. Когда эти пиксели были обработаны, вызывающая сторона получает следующий прямоугольник. Обработка завершается, когда обработан весь прямоугольник.

Aspose.PSD пытается извлечь максимум строк. Если недостаточно памяти для размещения одной строки пикселей, то одна строка разбивается на части, соответствующие прямоугольникам с высотой 1. Вы также можете рисовать на больших изображениях. Процесс рисования пытается воздействовать на весь желаемый прямоугольник. Если памяти недостаточно, рисование выполняется на частичных прямоугольниках до тех пор, пока не будет нарисована вся область. Кроме того, Aspose.PSD поддерживает сохранение и экспорт больших изображений. Сохраните исходное изображение на диск или экспортируйте его в другой формат файла. Процесс сохранения или экспорта выполняется с использованием частичных прямоугольников при необходимости.

Поддерживаемые форматы изображений

Для обработки больших изображений поддерживаются следующие форматы:

  • BMP
  • GIF
  • TIFF
  • PSD
  • JPG
  • PNG

Вышеперечисленные форматы могут быть безопасно обработаны через создание, модификацию, применение рисунков, сохранение на диск или экспорт независимо от размера изображения.

.