Изменение изображений

Дизеринг для растровых изображений

Дизеринг - это техника создания иллюзии новых цветов и оттенков путем изменения узора точек, которые фактически создают изображение. Это наиболее распространенный способ сокращения диапазона цветов изображений до 256 (или менее) цветов. Aspose.PSD предоставляет поддержку дизеринга для класса RasterImage, введя метод Dither, который принимает два параметра. Первый - типа DitheringMethod, который может принимать два возможных варианта: FloydSteinbergDithering и ThresholdDithering. Второй параметр метода Dither - это BitCount в целочисленном формате. BitCount определяет размер выборки для результата дизеринга. Значение по умолчанию - 1, что представляет черно-белую гамму, в то время как допустимыми значениями являются 1, 4, 8, что порождает палитры с 2, 4 и 256 цветов соответственно.

Настройка яркости, контраста и гаммы

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

  1. Яркость относится к светлоте или темноте цвета. Увеличение яркости изображения делает все цвета светлее, тогда как уменьшение яркости затемняет все цвета.
  2. Контраст относится к сделке объектов или деталей на изображении более очевидными. Увеличение контраста изображения увеличивает разницу между светлыми и темными областями, чтобы светлые области становились светлее, а темные - темнее. Уменьшение контраста приведет к тому, что светлые и темные области останутся примерно одинаковыми, но общее изображение станет более однородным.
  3. Гамма оптимизирует контраст и яркость косвенного освещения, освещающего объект на изображении.

Настройка яркости

API Aspose.PSD для Java предоставляет метод AdjustBrightness для класса RasterImage, который можно использовать для настройки яркости изображения, передавая целочисленное значение в качестве параметра. Наивысшее значение параметра обозначает более яркое изображение. Здесь приведены исходное изображение и полученное изображение для сравнения.

Настройка контраста

Метод AdjustContrast, предоставляемый классом RasterImage, может использоваться для настройки контраста изображения, передавая значение типа float в качестве параметра.

Наивысшее значение параметра обозначает более высокий контраст на данном изображении. Здесь приведены исходное изображение и полученное изображение для сравнения.

Настройка гаммы

Метод AdjustGamma, предоставляемый классом RasterImage, имеет две версии. Одна из перегрузок принимает одно значение типа float и выполняет коррекцию гаммы для коэффициентов красного, синего и зеленого каналов. В то время как другая перегрузка принимает три параметра типа float, представляющие каждый цветовой коэффициент отдельно. Приведенный ниже пример кода демонстрирует, как выполнить AdjustGamma на изображении.

Размытие изображения

Эта статья демонстрирует использование Aspose.PSD для Java для создания эффекта размытия на изображении. API Aspose.PSD предоставляет эффективные и простые в использовании методы для достижения этой цели. Aspose.PSD для Java предоставляет класс GaussianBlurFilterOptions для создания эффекта размытия на лету. Класс GaussianBlurFilterOptions требует значений радиуса и сигмы для создания эффекта размытия на изображении. Шаги для выполнения изменения размера просты, как показано ниже:

  1. Загрузите изображение с помощью фабричного метода Load, предоставленного классом Image.
  2. Преобразуйте изображение в RasterImage.
  3. Создайте экземпляр класса GaussianBlurFilterOptions с помощью конструктора по умолчанию или предоставьте значения радиуса и сигмы в конструкторе.
  4. Вызовите метод Filter класса RasterImage, указав прямоугольник как границы изображения и экземпляр класса GaussianBlurFilterOptions.
  5. Сохраните результат.

Приведенный ниже пример кода демонстрирует, как создать эффект размытия на изображении.

Проверка прозрачности изображения

Эта статья демонстрирует использование Aspose.PSD для Java для проверки прозрачности изображения. Шаги для проверки прозрачности изображения просты, как показано ниже:

  1. Загрузите изображение с помощью фабричного метода Load, предоставленного классом Image.
  2. Проверьте непрозрачность изображения: если непрозрачность равна нулю, изображение является прозрачным.
  3. Приведенный ниже пример кода демонстрирует, как проверить, является ли изображение прозрачным или нет.

Реализация потерь при сжатии GIF

С помощью Aspose.PSD для Java разработчики могут задать разницу в пикселях. Сжатие GIF основано на “словаре” строк пикселей, виденных ранее. Нормальный кодировщик ищет в словаре самую длинную строку пикселей, которая точно соответствует пикселям на изображении. Кодировщик с потерей выбирать самую длинную строку пикселей, которая “достаточно похожа” на пиксели на изображении. Ниже приведено демонстрационный код данной функциональности.

Реализация бикубического ресэмплинга

Ресэмплирование означает изменение пиксельных размеров изображения. При уменьшении размера вы удаляете пиксели и, следовательно, удаляете информацию и детали из вашего изображения. При увеличении размера вы добавляете пиксели. Photoshop добавляет эти пиксели, используя интерполяцию. Эта статья демонстрирует, как можно выполнить бикубическое ресэмплирование с помощью Aspose.PSD для Java.

Ниже приведено демонстрационный код данной функциональности.

Слой коррекции Инвертировать

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

Ниже приведено демонстрационный код данной функциональности.