[CDR X5-X8] Перекраска пантонов в одну палитру.

  • Автор темы Автор темы SSInf
  • Дата начала Дата начала

SSInf

Участник
Топикстартер
Сообщения
40
Реакции
11
Очень часто присылают макеты где есть пантон, но он используется из разных палитр.
К примеру в макете есть пантон 485С, 485CVC, 485U и т.д.
Ктонить знает как их все перекрасить в пантон из одной палитры. Или может у кого есть идеи логики для скрипта.
Если кто подскажет обязуюсь выложить как напишу ;]]
 
К примеру в макете есть пантон 485С, 485CVC, 485U и т.д.
Ктонить знает как их все перекрасить в пантон из одной палитры.
ну ладно 485С и 485CVC - хотя по значениям CMYK - это уже не одно и то же ... но 485С и 485U в одном макете - это как? Кто такие шедевры ваяет?
я бы использовал макрос Oberon ColorReplacer, либо его более продвинутый вариант lf_ColorReplacer29.3.8
- суть в поиске одного пантона и замене его на другой во всем макете
- но правила замены будете устанавливать вы ... ибо менять не глядя 485С на 485U - это ИМХО волюнтаризм
 
Либо всё перегоняйте все пантоны в CMYK
выставив в Color Management Setting соответствующую настройку
1560930339754.png
 
По отдельности перекрашивать я и своим скриптом могу, да и средствами корела тоже.
В цмик не надо, пантоны то надо оставить если они есть.
А перекрасить надо именно из разных палитр в одну.
Дизайнеры (в основном) когда делают незаморачиваются какая палитра (corel8, corel10 или mate ваще). А печататься будет на простой 200 меловке к примеру.
 
По отдельности перекрашивать
суть в поиске одного пантона и замене его на другой во всем макете
добавлю - сразу ВСЕ ВХОЖДЕНИЯ ПАНТОНА во всех открытых документах - один раз указали что на что менять - нажали на пимпу и всё

119473


А печататься будет на простой 200 меловке
и зачем вам тогда пантон 485U ???

... дизайнерам респект - всем шоколадку на новый год - непременно
 
Ваяют наши советские дизайнеры.
сразу ВСЕ ВХОЖДЕНИЯ ПАНТОНА во всех открытых документах мой скрипт тоже делает
119476
я вот и хочу функционал ему дописать. А у меня на работе часто такое бывает с пантонами.

p.s. тинт пантона у меня не перекрашивает, для меня просто несовсем понятна логика этого.
 
p.s. тинт пантона у меня не перекрашивает, для меня просто несовсем понятна логика этого.
Я когда свой подобный писал, тоже сперва не заморачивался с тинтом, пока не задумался о градиенте пантона)).
Screenshot_59.jpg
 
Я когда свой подобный писал, тоже сперва не заморачивался с тинтом, пока не задумался о градиенте пантона)).
Уловил суть, спасибо. Надо будет доработать.
А про палитры есть идеи ?
 

Не по теме:
Подобный функционал есть в PitStop, начиная с 2018 версии.
 
Уловил суть, спасибо. Надо будет доработать.
А про палитры есть идеи ?
Сразу скажу не делал, но попробовал бы сделать так:
Получить доступ к палитре документа.
Перебрать все пантоны на цифровое соответствие.
Пример, ищем Pantone 485 С. Вычленяем из имени область номера с пробелами " 485 ". Ищем совпадения в других цветах палитры документа '* 485 *'. Если находим, то запоминаем цвет. Потом находим данный цвет в объектах и перекрашиваем.

Получится типа того:
Pantone 485 С - определяем тип, да пантон.
" 485 " - выделяем центр с номером и пробелами.
Ищем '* 485 *' в других цветах палитры.
Находим Pantone 485 СVC. Добавляем его к массиву цветов которые подлежат замене. (Если несколько палитр задействовано, то лучше сперва найти их все.)
Красим объекты с цветом 485 СVC и другими подлежащими перекраске.
 

Не по теме:
Подобный функционал есть в PitStop, начиная с 2018 версии.
Да в питстопе появилась, щас посмотрел на ютубе (у меня более старая версия). Это значит что не только меня это озадачивает.
 
в одном макете - это как? Кто такие шедевры ваяет?
У меня было штук по 5 по разному именованных одинаковых пантонов.
Разные программы, некоторые просто руками имена набивают, и всё это тянется из клипартов, старых файлов и прочих источников. Опять таки, редко кто из дизайнеров понимает различия между библиотеками.
 
Последнее редактирование:
  • Спасибо
Реакции: SSInf
Так, тинт пантона учитывается. А про замену палитры еще идеи есть ? =)
 
Так, тинт пантона учитывается. А про замену палитры еще идеи есть ? =)
Можно сделать так.
Получаешь палитру в которую надо перекрасить (я выбрал PANTONE+):
Код:
Set strPals = Application.PaletteManager.GetPalette("PANTONE+ Solid Coated")
palitIdent = strPals.Identifier
Идентификатор нужен дальше для условия.
Перебираешь объекты, у каждого объекта (sH) берешь параметр Color заливки и обводки.
Определяешь является ли он пантоном. Привожу пример для заливки
Код:
If (sH.fill.UniformColor.Type = 1 Or sH.fill.UniformColor.Type = 25) & sH.fill.UniformColor.PaletteIdentifier <> palitIdent Then
Вот тут понадобится параметр идентификатора палитры. Если он уже в нужной палитре, зачем его проверять.
Вычленяешь имя/ номер пантона и отбиваешь его пробелами (это нужно, чтобы нашел пантон 325, а не 3325 ):
Код:
nam = Split(sH.fill.UniformColor.SpotColorName, " ")
             midName = " "
             For j = 1 To UBound(nam) - 1 ' нулевой элемент это слово pantone, последний элемент это буквы С, CV, CVC -- нам это все не нужно. В цикле потому что REd 032 должен попасть в поиск )).
             midName = midName & nam(j) & " "
             Next j
Далее ищешь имя/ номер пантона и если находишь соответствие делаешь нужные действия:
Код:
For n = 1 To strPals.Colors.Count
               Set tmp = strPals.Colors(n)
               If InStr(1, tmp.Name,midName) Then

Всего в палитре "PANTONE+ Solid Coated" 1355 цветов. Перебирать их все для каждого объекта слишком долго.
Подразумеваем, что в макете от силы 5-20 цветов, поэтому процесс можно сильно ускорить.
Создаешь глобальный массив используемых цветов, куда заносишь пантоны, в которые надо переименовать. Пример, это GlobArrPant. И если нашел используемый в макете цвет, то запоминаешь его:
Код:
For n = 1 To strPals.Colors.Count
               Set tmp = strPals.Colors(n)
               If InStr(1, tmp.Name,midName) Then
' здесь какие-то действия с объектом
                    ReDim Preserve GlobArrPant(globIndx)
                    GlobArrPant(globIndx) = Array(tmp.SpotColorName, tmp.SpotColorID,  tmp.PaletteIdentifier)' Запоминаешь цвет
                    globIndx = globIndx + 1
Таким образом, сперва ищешь имя/ номер пантона в своем GlobArrPant, если находишь, то берешь новые параметры цвета из этого же массива. Если не находишь ищешь в массиве палитры и потом добавляешь его в свой GlobArrPant.
В качестве бонуса можно еще создать список пантонов, которым не нашлось аналогов в PANTONE+, и вывести его.
 
Последнее редактирование:
Код:
nam = Split(sH.fill.UniformColor.SpotColorName, " ")
             midName = " "
             For j = 1 To UBound(nam) - 1 ' нулевой элемент это слово pantone, последний элемент это буквы С, CV, CVC -- нам это все не нужно. В цикле потому что REd 032 должен попасть в поиск )).
             midName = midName & nam(j) & " "
             Next j

Просто отсекать последнее слово не выйдет, например в палитре "PANTONE MATCHING SYSTEM Coated - Corel 10"
есть цвет "PANTONE Rhodamine Red CVC 2X"

И перекрашивать все в палитру "PANTONE+ Solid Coated-V#" тоже не вариант. Например есть пантон металик "PANTONE 8001 C", он есть только в "PANTONE® metallic coated" и "PANTONE Metallic Colors Unvarnished - Corel 10".

Все очень странно у корела с пантонами ))

Про временный словарь пантонов идея хорошая, спасибо.
 
Последнее редактирование:
Как и обещал =)
Может кому пригодится.

 
  • Спасибо
Реакции: eugeny
Не подскажете, по какому алгоритму решили осуществлять поиск цветов из других палитр? Просто интересно.

Там такие костыли просто ппц )))))