Слой за корекция на черното и бялото

Работа със слоя за корекция на нивата в Photoshop в Java

В тази статия ще научим как да коригираме тоновия обхват и баланса на цветовете на снимка във файлов формат PSD програмно чрез Java. Ние не използваме редактора на снимки Adobe® Photoshop®. Вместо това използваме библиотеката Aspose.PSD за Java, която работи отделно, за да манипулира Photoshop документа.

Въпреки че Aspose.PSD за Java поддържа повече от достатъчно инструменти за редактиране на снимки, както искаме, нека да продължим с API на слоя за корекция на нивата, което е един от най-простите и бързи начини да извършим работата.

Преглед на API

Настоящата имплементация (20.6 към момента на писането) на API на слоя за корекция на нивата поддържа всички основни функции на нивата на Photoshop, а именно, коригиране на входни и изходни нива за комбиниран канал (RGB) както и за всеки основен цветен канал (червен, зелен и син).

API-то на слоя за корекция на нивата е пряко. Класът LevelsLayer е входна точка за корекция на нивата. Той съдържа няколко метода за достъп до цветните канали: getMasterChannel и getChannel(int). И двата метода връщат LevelChannel, който има съответни свойства за манипулиране на входни и изходни нива. Разликата е, че getMasterChannel се използва за коригиране на комбинирания цветен канал (RGB), докато getChannel достъпва определен цветен канал (червен, зелен или син) по неговия индекс.

Съвместимост с цветови режими

Стои си да се добави, че слоя за корекция на нивата е съвместим с голямото мнозинство цветови режими според нивата на Photoshop. Следователно, е възможно да се коригират нивата за изображения в градации на сиво (сив канал), RGB (RGB, червен, зелен и син канали), CMYK (CMYK, циан, маджента, жълто и черен канали), двопосочен (монотонен канал) и LAB (светлина, a и b канали).

Коригиране на тоновия обхват

Просто казано, корекцията на тоновете се прилага към изображението, за да се преизпратят сенките и светлините за по-добро разпределение на средните тонове. Обикновено, прави изображението да изглежда по-контрастно, ако е направено правилно. Например, нека вземем снимка на куче (b) и коригираме неговия тонов обхват (а - снимката е направена от прозореца на Photoshop с настройки за нивата за по-добра яснота) за да направим снимката да изглежда по-контрастно (c).

|Фигура 1 за слоя на нивата|

За коригиране на общия тонов обхват на изображение, входните нива на главния канал трябва да бъдат настроени:

LevelsLayer levelsLayer = psdImage.addLevelsAdjustmentLayer();

LevelChannel masterChannel = levelsLayer.getMasterChannel();
masterChannel.setInputShadowLevel(( **short** )21);
masterChannel.setInputMidtoneLevel(( **float** )1.19);
masterChannel.setInputHighlightLevel(( **short** )229);

Важно е да се има предвид, че входните нива трябва да са в обхват от 0 до 253 за сенките, от 9.99 до 0.01 за средните тонове и от 2 до 255 за светлините. Обхватът на изходните нива трябва да бъде между 0 и 255.

Имате нужда от още примери? Можете да ги намерите на Github и в базата знания.

Заключение

За да обобщим, Aspose.PSD за Java разполага с удобно и просто API за промяна на тонов обхват и баланс на цветовете на изображение, което е съвместимо с почти всички цветови режими. API-то на слоя за корекция на нивата на библиотеката прилича на нивата на Photoshop, поради което е лесно да започнете, дори ако никога не сте работили с библиотеката.