[CDR X5-X8] Создать плашки с рецептурой из Эксель

  • Автор темы Автор темы ilias
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

ilias

Топикстартер
15 лет на форуме
Сообщения
2 250
Реакции
811
Есть задача создать карту оттенков.
Есть возможность промерить спектрофотометром и экспортировать в CSV в LAB.
Примерно так
78.09,17.35,16.87
85.55,11.38,12.07
88.65,8.53,10.21
67.73,26.19,24.35
76.48,19.71,18.57
83.95,13.91,14.42
87.82,10.28,11.32
61.94,31.66,23.68
.
Хочется создать серию рядов плашек по 4 штуки в ряду размером плашки 40х10 мм с рецептурой LAB из экселевского файла.
Не могу понять с какого конца браться за эту задачу.
 
  • Спасибо
Реакции: _MBK_
Брр
Нужен макрос, который будет читать данные из текстового файла и рисовать по ним плашки нужного цвета - так? 'hmmm'
 
Начать с Alt+F11 в кореле.
Чтение из файла и рисование в целом несложная задача.
 
Реально просто, даже неинтересно как-то.
Читать текстовый файл, потом
Set s1 = ActiveLayer.CreateRectangle(...)
s1.Fill.UniformColor.RGBAssign три, прочтенных, значения

новая страница

Dim p1 As Page
Set p1 = ActiveDocument.InsertPagesEx(1, False, ActivePage.Index, 8.267717, 11.692913)
p1.Layers("Layer 1").Activate
это то, что можно выдернуть из Recorded macros за 5 секунд.
еще минуту, чтобы обвязку сделать для работы с файлом
 
спектрофотометром и экспортировать в CSV в LAB.
Только проще наверное будет скрипту подать уже не лабы, а посчитанные RGB наверное? Умеет ли скрипт лабы визуализировать?
 
Нужен макрос, который будет читать данные из текстового файла и рисовать по ним плашки нужного цвета - так?
Да, так.
Честно говоря я не очень большой мастер писать макросы, но дело даже не в этом. Для меня пока не понятно как в принципе заставить Корел (кореловский макрос) брать значения для заливки прямоугольника из ексель (CSV, TXT) файла.
Реально просто, даже неинтересно как-то.
Читать текстовый файл, потом
Что значит читать текстовый файл?
 
Лучше выложи csv, быстрее будет.
 
черт знает что происходит с csv при загрузке в ресурсы даже в архиве.
Ну вот так
60,48,4
69,38,1
78,25,0
83,19,0
60,34,11
69,26,8
79,17,6
83,14,5
63,53,18
71,43,11
80,29,6
84,22,5
66,46,16
75,35,10
83,23,6
87,16,5
68,34,17
77,26,13
85,16,9
88,12,8
75,36,27
81,27,20
87,17,13
90,12,10
76,40,46
81,30,35
86,20,24
89,15,18
77,30,44
83,23,34
88,14,23
90,11,18
71,24,30
79,19,24
86,13,17
89,10,14
79,19,38
86,11,28
91,5,19
92,3,16
 
Это значения Lab? А как квадратики будут располагаться?
В принципе, чтобы не париться с отрисовкой и координатами можно сделать так - рисуешь кучу прямоугольничков в нужных местах и запускаешь вот такой макрос
Код:
Sub RecolorLab()
Dim Sel As ShapeRange
Dim I As Integer
Dim l, a, b As Integer
    Open "c:\lab.csv" For Input As #1
   
    If Documents.Count = 0 Then Exit Sub
  
    Set Sel = ActiveSelectionRange
    If Sel.Count < 1 Then Exit Sub
    
    
        
    For I = 1 To Sel.Count
       If Sel(I).Type = cdrRectangleShape Then
         If Not (EOF(1)) Then Input #1, l, a, b
         Sel(I).Fill.UniformColor.LabAssign l, a, b
       End If
    Next I
    Close #1
End Sub
А тот их покрасит в цвета, считанные из файла c:\lab.csv
 
  • Спасибо
Реакции: ~RA~ и ilias
хм, красит в ЛАБ, но в какой-то другой ...
 
Да, определенная разница есть
upload_2017-2-13_19-23-11.png

upload_2017-2-13_19-23-30.png
 
Да, еще забыл сказать
Из файла значения читаются в следующих пределах L (0,255) a (-128,127) b (-128,127)
А в кореловской цветовой палитре отображаются как L (0,100) a (-128,127) b (-128,127)
Отсюда возможна некоторая непонятка
 
Не, ну то есть это совсем другой ЛАБ ))
RGB значения вроде практически одинаковые, но на дисплее по другому отображает - видимо,профилированы корел с фотошопом по разному
По поводу ошибки 62 на 13 строке - странно, меня на приложенном файле вроде нормально
upload_2017-2-13_19-47-43.png
 
а нет, красит все, но во что непонятно
 
Статус
Закрыто для дальнейших ответов.