Конверсия на цветово пространство за JPEG чрез ICC профили
Управление на цветовете за формата JPEG
Този статия обсъжда използването на ICC профили за извършване на управление на цветовото пространство, докато се работи с формата JPEG с помощта на Aspose.PSD API-тата. Вътрешното цветово пространство на JPEG е YCbCr, но тази формат също може да приеме цветови пространства като Grayscale, RGB, CMYK и YCCK, за да съхранява метаданните на изображението. Aspose.PSD API-тата основно оперира в RGB пространство, поради което API-то трябва да извърши конверсия на цветовото пространство от и към RGB, за да се справи правилно с JPEG файловете. Конверсиите от Grayscale към RGB и от YCbCr към RGB могат да бъдат извършени с математически преобразувания, но пространствата CMYK и YCCK не могат лесно да бъдат конвертирани в RGB пространство.
Aspose.PSD API-тата трябва да осъществи директна RGB към CMYK цветова трансформация за JPEG изображения с цветово пространство CMYK. От друга страна, изображенията с цветово пространство YCCK изискват RGB към CMYK към YCCK трансформация на цветовете, като CMYK към YCCK трансформацията използва ITU-R BT.601 конверсия, приложена за първите три канала, като оставя k-канала непокътнат. С други думи, Aspose.PSD API-тата трябва да осъществи междуцветова конверсия на RGB и CMYK цветовите пространства за двете CMYK и YCCK изображения, като такива трансформации се извършват с помощта на ICC профили, които са основни таблица за претърсване, описващи свойствата на цвета и помагащи за цветовите трансформации.
ICC Профили
Механизмът на ICC конверсия използва “Профили”, които съпоставят източното цветово пространство със специфично за устройството CIELAB или CIEXYZ цветови пространства. Aspose.PSD може да конвертира данните в цветовото пространство, както се изисква, докато използва тези две цветови пространства с допълнителни профили. Затова, за ICC конверсията потребителят трябва да предостави два профила - един RGB профил, за да стигне до вътрешното CIE цветово пространство и един CMYK профил, за да получи характеристиките на цветовете CMYK. За постигане на конверсия от CMYK към RGB, трябва да се размени профилите, тоест; да се използва CMYK профилът като източен профил и RGB профилът като целеви профил.
Конверсия на цветовете за JPEG чрез ICC Профили
Aspose.PSD API-тата скрива детайлите, предоставяйки лесен за използване механизъм за указване на ICC профили чрез JpegOptions класа. Освен това, Aspose.PSD използва примерни профили на SWOP, CMYK и sRGB, вградени в ядрото му, поради което при повечето обичайни случаи на използване, потребителят не се нуждае от конкретни профили. Има недостатък на такива корекции, тоест; подобни конверсии на цветовото пространство са необратими, защото не можем да очакваме, че ще получим същия цвят след конверсии от RGB към CMYK към RGB поради несъвместими цветови пространства и различни цветови профили. Долу е показан откъсът от кода, който демонстрира използването на Aspose.PSD за .NET API за указване на RGB и CMYK цветови профили за YCCK JPEG изображение. В примера по-долу RGB и CMYK цветовите профили се променят и изображението се запазва в цветовото пространство YCCK. Моля, обърнете внимание, че тези RgbColorProfile и CmykColorProfile свойства ще работят за промяна на пикселните данни за цветното пространство YCCK. Всички други цветови пространства не извличат цветовите профили за актуализиране на цветовата информация.
Ако не са зададени профили, тогава Aspose.PSD за .NET API ще използва профили по подразбиране. Примерът по-долу използва свойствата за целевите профили, които променят цветовото пространство на повечето JPEG изображения.