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

SSInf

Участник
Топикстартер
Сообщения
40
Реакции
11
Очень часто присылают макеты где есть пантон, но он используется из разных палитр.
К примеру в макете есть пантон 485С, 485CVC, 485U и т.д.
Ктонить знает как их все перекрасить в пантон из одной палитры. Или может у кого есть идеи логики для скрипта.
Если кто подскажет обязуюсь выложить как напишу ;]]
 

dastin

Некромант-любитель
12 лет на форуме
Сообщения
2 131
Реакции
2 027
К примеру в макете есть пантон 485С, 485CVC, 485U и т.д.
Ктонить знает как их все перекрасить в пантон из одной палитры.
ну ладно 485С и 485CVC - хотя по значениям CMYK - это уже не одно и то же ... но 485С и 485U в одном макете - это как? Кто такие шедевры ваяет?
я бы использовал макрос Oberon ColorReplacer, либо его более продвинутый вариант lf_ColorReplacer29.3.8
- суть в поиске одного пантона и замене его на другой во всем макете
- но правила замены будете устанавливать вы ... ибо менять не глядя 485С на 485U - это ИМХО волюнтаризм
 

dastin

Некромант-любитель
12 лет на форуме
Сообщения
2 131
Реакции
2 027
Либо всё перегоняйте все пантоны в CMYK
выставив в Color Management Setting соответствующую настройку
1560930339754.png
 

SSInf

Участник
Топикстартер
Сообщения
40
Реакции
11
По отдельности перекрашивать я и своим скриптом могу, да и средствами корела тоже.
В цмик не надо, пантоны то надо оставить если они есть.
А перекрасить надо именно из разных палитр в одну.
Дизайнеры (в основном) когда делают незаморачиваются какая палитра (corel8, corel10 или mate ваще). А печататься будет на простой 200 меловке к примеру.
 

dastin

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

119473


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

... дизайнерам респект - всем шоколадку на новый год - непременно
 

SSInf

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

p.s. тинт пантона у меня не перекрашивает, для меня просто несовсем понятна логика этого.
 

eugeny

15 лет на форуме
Сообщения
855
Реакции
210
p.s. тинт пантона у меня не перекрашивает, для меня просто несовсем понятна логика этого.
Я когда свой подобный писал, тоже сперва не заморачивался с тинтом, пока не задумался о градиенте пантона)).
Screenshot_59.jpg
 

SSInf

Участник
Топикстартер
Сообщения
40
Реакции
11
Я когда свой подобный писал, тоже сперва не заморачивался с тинтом, пока не задумался о градиенте пантона)).
Уловил суть, спасибо. Надо будет доработать.
А про палитры есть идеи ?
 

romyk

10 лет на форуме
Сообщения
1 353
Реакции
247

Не по теме:
Подобный функционал есть в PitStop, начиная с 2018 версии.
 

eugeny

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

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

SSInf

Участник
Топикстартер
Сообщения
40
Реакции
11

Не по теме:
Подобный функционал есть в PitStop, начиная с 2018 версии.
Да в питстопе появилась, щас посмотрел на ютубе (у меня более старая версия). Это значит что не только меня это озадачивает.
 

JAW

15 лет на форуме
Сообщения
15 797
Реакции
3 454
в одном макете - это как? Кто такие шедевры ваяет?
У меня было штук по 5 по разному именованных одинаковых пантонов.
Разные программы, некоторые просто руками имена набивают, и всё это тянется из клипартов, старых файлов и прочих источников. Опять таки, редко кто из дизайнеров понимает различия между библиотеками.
 
Последнее редактирование:
  • Спасибо
Реакции: SSInf

SSInf

Участник
Топикстартер
Сообщения
40
Реакции
11
Так, тинт пантона учитывается. А про замену палитры еще идеи есть ? =)
 

eugeny

15 лет на форуме
Сообщения
855
Реакции
210
Так, тинт пантона учитывается. А про замену палитры еще идеи есть ? =)
Можно сделать так.
Получаешь палитру в которую надо перекрасить (я выбрал 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+, и вывести его.
 
Последнее редактирование:

SSInf

Участник
Топикстартер
Сообщения
40
Реакции
11
Код:
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".

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

Про временный словарь пантонов идея хорошая, спасибо.
 
Последнее редактирование:

SSInf

Участник
Топикстартер
Сообщения
40
Реакции
11
Как и обещал =)
Может кому пригодится.

 
  • Спасибо
Реакции: eugeny

SSInf

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

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

eugeny

15 лет на форуме
Сообщения
855
Реакции
210