У меня есть код, который изменит цветовое пространство изображения с RGB на профиль GenericCMYK. Я хотел бы иметь возможность использовать профиль ICC для преобразования изображения в цветовое пространство CMYK. Есть способ сделать это в Photoshop, но этот процесс отнимает слишком много времени у пользователей, когда вы имеете дело с сотнями изображений, я пытаюсь создать каплю AppleScript, которая сделает это для них.
Я уже посмотрел страницу NSColorspace и похоже, что есть способ сделать это. Я просто понятия не имею, как преобразовать этот Objective-C в ApplescriptObjC. Вот две ссылки на профили ICC в NSColorSpace:
init? (iccProfileData: Data)
Инициализирует и возвращает объект NSColorSpace с данным профилем ICC.
var iccProfileData: данные?
Данные профиля ICC, из которых был создан получатель.
Вот код, который у меня есть благодаря Шейну на Macscripter.net:
set theImage to (current application's NSImage's alloc()'s initWithContentsOfURL:theInput)
set imageRep to (theImage's representations()'s objectAtIndex:0)
set targetSpace to current application's NSColorSpace's genericCMYKColorSpace()
set bitmapRep to (imageRep's bitmapImageRepByConvertingToColorSpace:targetSpace renderingIntent:(current application's NSColorRenderingIntentPerceptual))
set theProps to (current application's NSDictionary's dictionaryWithObjects:{1.0, true} forKeys:{current application's NSImageCompressionFactor, current application's NSImageProgressive})
set jpegData to (bitmapRep's representationUsingType:(current application's NSJPEGFileType) |properties|:theProps)
set colorSpace to bitmapRep's colorSpaceName() as text
(jpegData's writeToURL:theOutput atomically:true)
Мне просто нужно выяснить, как включить Профиль ICC в парк процесса преобразования CMYK, который, как мне кажется, в этой строке кода:
set targetSpace to current application's NSColorSpace's genericCMYKColorSpace()
Кто-нибудь может дать мне какое-то руководство по этому вопросу?
Спасибо!