[CC] CMYK -> HSB ?

Тема в разделе «Скриптинг в Adobe Illustrator», создана пользователем Станислав Хоффман, 20 мар 2017.

  1. Всем привет, как скриптом конвертировать CMYK -> HSB ?
    Более глобальная задача - хочу скриптом перевести коричневый из 4х красок в максимально близкий цвет из 3х красок, используя HSB значения для сравнения. Тестил в фотошопе - перегонял цвета и сравнивал по HSB, выходило отлично, цвет максимально близкий.
     
  2. А разве существует прямое преобразовиние CMYK-HSB минуя RGB? Имхо это невозможно
     
  3. тогда уж LAB. Это что-то меняет? Пускай будет CMYK-LAB-HSB или CMYK-RGB-HSB. Цепочка не важна, важен результат.
     
  4. Тогда какой сакральный смысл огород городить? При таком преобразовании цвет проходит сквозь бутылочное горлышко, чем это лучше, чем RGB или Lab сравнивать?
     
  5. Я бы гнал из CMYK в CMY примерно так:
    для k=10 — с+11, m+6, y+8
    для k=20 — с+22, m+13, y+15
    для k=30 — с+32, m+20, y+23
    для k=40 — с+42, m+29, y+31
    а из CMYK в MYK, CMK, CYK и т. п. обратным способом.
     
  6. @~RA~, человеку хысыбы надо! (непонятно зачем)
     
  7. Да не надо ему хысыбы, ему коричневый в 3 краски нужен.
     
  8. Так на этот случай умные люди профиля соответствующие придумали, не сбивай человека своим индусским алгоритмом :4)
     

  9. Не по теме:
    :bayan:(Лагеряяяя)

    Ему же математика для скрипта нужна, вот готовый алгоритм.
    А циферки эти я из профиля и взял. ;)
     
  10. Дурацкий алгоритм, оставлю на твоей совести сами цифры и линейность процесса (что уже само по себе внушает серьезные сомнения), но в данном алгоритме, как минимум, отсутствует контроль переполнения - как, например переведется C100M50Y0K10?
     
  11. Где там линейность? Это же только пример для трёх значений. И даже по ним видно, что зависимость нелинейная.
    Это же пример, намёк на решение. А контроль очевиден: каждая краска не может быть <0 && >100. Вышел за границы, значит решения нет (этим алгоритмом).
     
  12. Ну если зафиксировать K=const то получается линейный
    А этого не может быть потому что не может быть никогда
    Вдобавок, даже если так - как ты собираешься значения подбирать все промежуточные?
    Алгоритма по сути у тебя никакого нет кроме как брать цифирьки
     
  13. Не получается. Возьмём, к примеру с = f (k).
    11/10, 22/20, 32/30, 42/40. Где линия-то?
    Тут можно почти согласитья. :)
     
  14. Брр поясни не пойму что у тебя есть что %8
    А линейный потому как для K=const у тебя для любого CMY
    C'=C+const
    M'=M+const
    Y'=Y+const
    а это прямая линия
     
  15. Сам посчитай. Там не const вовсе. ;)
     
  16. Я чего то недопонимаю?
    Ты ж сам пишешь что для для k=10
    с'=с+11
    m'=m+6
    y'= y+8
    и эти константы 11,6 и 8 одинаковы для любых c,m,y
    Линейное преобразование из 3мерного в 3мерное множества
     
  17. Или я. ;)
    с = f (k), m = f (k) и y = f (k) нелинейны, так как приращение с, m & y непропорционально приращению k.
     
  18. Ну по K нелинейны, а относительно C,M,Y - линейны
    Грубо говоря, у тебя черный раскладывается в одной пропорции независимо от исходного цвета
    А это как то неправильно по логике
     
  19. Ну нет же.
     
  20. UCR, Device link, не?
    Хотя скриптом это святое.
     

Поделиться этой страницей