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