Corel Draw: Быстрое создание спот (spot) цвета

Corel Draw: Быстрое создание спот (spot) цвета

Corel Draw: Быстрое создание спот (spot) цвета
Corel Draw: Быстрое создание спот (spot) цвета
26/4/2025
При допечатной подготовке часто требуются специальные spot-цвета. Обычно это белила, лаки, теснение, конгрев. Создание данных спот-цветов помогает другому человеку разобраться, что задумал дизайнер. В Corel Draw очень неудобное и несущее неочевидные проблемы создание спотов. Рассмотрим, как облегчить эту задачу.
Обычно дизайнер не заморачивается с созданием спотов, а выбирает близкий по цвету пантон и потом подписывает, что он имел ввиду.
В Иллюстраторе более удобное создание спотов, а в Кореле ваш созданный спот может определяться, как цвет, на основе которого он создан.
херобора какая-то
В данном посте я рассмотрю два решения данной проблемы: быстрое и через макрос.

Быстрое

Ну здесь все просто, скачиваете мой макрос, где на вкладке «Действия» есть пункт создания спота.
1 — вводишь название спота. Только english буквы, цифры, - и _.
2 — нажимаешь кнопку для выбора оттенка спота.
Ну и кнопка «+» — добавить.
Нажимаем "run" и... теперь у вас есть свой «безпроблемный» спот в текущем документе.
Можно сохранить набор с нужными спотами и добавлять их потом в нужные документы. Как это сделать: смотри здесь.

Через макрос

Ниже предлагается код для создания макроса на VBA. Код представлен в виде функции, куда в качестве параметров передается имя и массив оттенков в CMYK.
В качестве шаблона выбрана строка конвертации спота в строку, где будут заменены нужные элементы. В коде происходит поиск последнего индекса среди спотов, чтобы присвоить нашему спот-пантону следующий.
Function shablonColor(namer, arrCMYK, palit)
Dim doc As Document, pal As Palette, col As Color, blueBoard, colBB As Color, colRasm As Color, tmpCol As Color

shablon = "SPOT,USER,1,100,palitr,~,werty,1,CMYK255,USER,0,0,0,255,100,00000000-0000-0000-0000-000000000000,~,palitr,werty"
arrSh = Split(shablon, ",")
maxid = 0
Set pal = palit
Set clrs = pal.Colors

For Each col In clrs
    If col.Type = cdrColorSpot Then
        If col.SpotColorID > maxid Then maxid = col.SpotColorID
    End If
Next

Set tmpCol = New Color
arrSh(2) = maxid + 1 ' index
arrSh(3) = 100 'tint
arrSh(4) = pal.Identifier ' identificator of Palette
arrSh(17) = pal.Identifier ' identificator of Palette
arrSh(6) = namer ' name
arrSh(18) = namer ' name

arrSh(10) = CLng(CDbl(arrCMYK(0)) / 0.392)
arrSh(11) = CLng(CDbl(arrCMYK(1)) / 0.392)
arrSh(12) = CLng(CDbl(arrCMYK(2)) / 0.392)
arrSh(13) = CLng(CDbl(arrCMYK(3)) / 0.392)
'arrSh(14) = 0

 tr = Join(arrSh, ",")
 tmpCol.StringAssign tr

pal.InsertColor maxid + 1, tmpCol
pal.Save
Set shablonColor = tmpCol
End Function
Это функция, а запускать можно через команду
call shablonColor("mypantone", Array(100, 0, 100, 0), ActiveDocument.Palette)
Появится зелененький пантон.
Если кто заметил, Корел хранит CMYK в оттенках 255, поэтому пришлось их конвертировать.
Комментарии: