Перевести rgb в цвет: Конвертер Цветов Онлайн — HEX ⇒ RGB ⇒ RGBA ⇒ CMYK ⇒ HSL ⇒ HSLA ⇒ HSB ⇒ HSV ⇒ XYZ ⇒ LAB. Калькулятор цветов HTML. Генератор цветов CSS3 — ColorScheme.Ru

Содержание

Как перевести RGB в CMYK с минимальными потерями цвета?

Применяемые в графическом дизайне цветовые модели RGB и CMYK позволяют кодировать в числовом выражении различные цвета, предупреждая возможные разночтения при создании цифровых изображений. Смена схемы цветопередачи часто проводится на этапе предпечатной подготовки в целях обеспечения качества полиграфической продукции.

Содержание

Чем отличается RGB от CMYK?

Цветовая модель RGB названа по трем заглавным буквам (с англ. «красный, зеленый, синий»). При максимальном значении яркости они образуют белый цвет, при минимальном значении — черный. 

Цветовая схема RGB обусловлена физиологией восприятия цвета сетчаткой глаза и предназначена для цифровых носителей. Палитра состоит из огромного количества светящихся точек, поэтому может быть использована только в электронных устройствах. На бумаге изобразить цвет в модели RGB невозможно, потому как бумага поглощает цвет, а не светится. 

Цветовая модель CMYK включает четыре цвета (с англ. «синий, пурпурный, желтый, черный»). Характеризуется значительно меньшим цветовым охватом в сравнении с RGB, но оптимально подходит для многокрасочной печати.

Новые цветовые решения образуются путем совмещения трех существующих цветов с черным по принципу смешивания художественных красок. Белый цвет отсутствует. Его можно получить исключительно в качестве полутона. 

Почему невозможно преобразовать RGB в CMYK без потери цвета?

Модель RGB применяется при разработке макетов для печати. Позже, на этапе предпечатной подготовки изображения конвертируются в CMYK с помощью программы Photoshop. Вместе с тем отдельные цвета немного тускнеют ввиду того, что на бумаге не выйдет передать богатство оттенков, как на экране.  

Считается, что перевод изображения, созданного в RGB, в модель CMYK без потери цвета маловероятен.  RGB основана на излучении света, а CMYK — на его поглощении. Притом цветовой охват последней более узкий. Однако известны способы конвертации, позволяющие свести потери в насыщенности цвета к минимуму.  

Как перевести из RGB в CMYK через Photoshop?

Рассмотрим на конкретном примере один из способов конвертации цветного изображения из RGB в CMYK.  Чтобы получить оптимальный результат, имеет смысл работать в ручном режиме. 

≡ Описание инструкции для конвертации изображения

Для преобразования цветной картинки из RGB в CMYK потребуется выполнить несколько последовательных действий.

  1. Зайти в панель редактирования.
  2. Выбрать вкладки «Преобразовать профиль» — «Заказной CMYK».
  3. Указать тип бумаги — мелованная.
  4. Установить параметры:
  • стандартное растискивание — 12%;
  • содержание черного цвета — среднее;
  • расход черной краски — не более 80%;
  • величина суммарного покрытия — 280% (максимально допустимое значение для типографии).

Подтвердите все действия кнопкой «OK».

Как показывает практика, после такого режима конвертации цветовая гамма несколько утрачивает интенсивность. Это может коснуться черного и синего цветов. Черный цвет приближается к насыщенному серому, что связано с установкой более безопасных для печати настроек, предупреждающих перезаливку красками и стало быть их недостаточное высыхание. 

≡ Пошаговая инструкция для корректировки изображений

С целью придания изображению необходимой насыщенности и контрастности рекомендуется количество каждой краски корректировать отдельно в принудительном режиме, используя инструмент «Пипетка». Справится с поставленной задачей поможет инструкция:

  1. Установите цветовой эталон.
  2. Откройте панель «Каналы».
  3. Откройте вкладку «Выделения» — «Цветовой диапазон».
  4. Выделите пипеткой участок изображения с корректируемым цветом.
  5. Зайдите в канал выбранного цвета.
  6. Выберите инструмент «Уровни».
  7. Вручную отрегулируйте количество краски, которая будет литься в пределах выделенной зоны.

 

Описанная выше техника конвертации из RGB в CMYK является одной из наиболее эффективных. Позволяет достаточно точно скорректировать конкретные цветовые каналы, обеспечив получение яркого и сочного печатного изображения.

Как перевести RGB в CMYK

С вами происходила такая ситуация? Вы распечатали изображение с вашего компьютера, а затем увидели что цвета напечатанные на бумаге значительно отличаются от тех что на экране.

Дело в том, что на экране вы видите изображение в RGB, а на печати в CMYK. Оба названия являются цветовыми моделями или сочетанием комбинаций нюансов и оттенков, которые создают изображение на вашем экране или на бумаге.

RGB расшифровывается как: Red (красный), Green (зеленый), Blue (синий) комбинации этих цветов используются для получения изображения на мониторах излучающих свет, таких как телевизор или компьютер. А бумага не производит свет, поэтому для нее используется модель комбинирования цветов, которая называется CMYK: голубой (Сyan), пурпурный (Мagenta) и желтый (Yellow). Буквой К обозначают черную краску (BlacK), позволяющую добиться насыщенного черного цвета при печати.

При печати фотографий есть несколько различий между тем, как выглядят изображения в RGB и CMYK. Экран компьютера использует свет, чтобы воссоздать цвета, поэтому изображения выглядят намного ярче, чем при печати в CMYK. Поэтому если вы профессионально занимаетесь компьютерным дизайном или хотите воспроизвести в печать изображения такими как они выглядят на электронном устройстве, то перед печатью вам необходимо перевести RGB в CMYK. Да, вам может показаться что изображения в CMYK выглядят не так хорошо как в RGB на экране, но при печати вы убедитесь в обратном!

Чтобы быстро и просто преобразовать RGB в CMYK загрузите и установите Фотоконвертер. Затем выберите изображение, которое нужно преобразовать, перейдите в главное меню и выберите (Меню → Параметры сохранения → Параметры сохранения формата → Настройки форматов → JPG→ Цветовая модель → CMYK).

Фотоконвертер также позволяет конвертировать в пакетном режиме в случае, если вам нужно подготовить сразу несколько изображений для печати, а также вы можете использовать множество вариантов для редактирования изображений. Например, вы можете повернуть или зеркально отобразить ваши изображения, добавить эффекты или текст водяного знака, настроить яркость и многое другое. А так же преобразовать обратно CMYK в RGB.

P.S. Если вы будете преобразовывать файл JPG из цветовой модели CMYK в RGB, имейте в виду, что модель цвета для JPEG по умолчанию является YCbCr (способ кодирования информации сигналов RGB) для JPEG этот способ является лучшим вариантом.

Установить Фотоконвертер

 

Онлайн конвертация

Некоторые возможности Фотоконвертера можно попробовать онлайн. Выберите файлы или ZIP архивы для конвертации:

 

Интерфейс командной строки

Профессиональные пользователи могут использовать командную строку для конвертации и редактирования в ручном или автоматическом режиме. За дополнительными консультациями по использованию cmd интерфейса обращайтесь в службу поддержки пользователей.

Рассказать друзьям

HEX to RGB Color Converter [AppKong]

Мгновенно находите шестнадцатеричные и RGB-соответствия с помощью этого простого инструмента от AppKong! Это самый быстрый, простой и самый точный способ расчета цветовых эквивалентов. Преобразуйте шестнадцатеричный код в RGB или обратно с молниеносной скоростью с гарантированная точность!

Как использовать наш конвертер

Введите код цвета в любом формате, и система немедленно найдет соответствие. Вы можете превратить RGB в шестнадцатеричный цвет или наоборот. Это не проблема! Если вы хотите сделать это вручную, чтобы проверить свои математические навыки, вы найти инструкции ниже.

Как преобразовать RGB в шестнадцатеричный

Введите значение RGB в соответствующее поле, чтобы увидеть эквивалент. Например, RGB(1,97,189) равен #0161bd. в шестнадцатеричном формате. Использование нашего конвертера — это самый простой способ найти цветовые коды. Вы также можете увидеть их рядом в Photoshop или попробуйте сложный метод ручного расчета.

Предположим, у вас есть RGB(201, 20, 60), который является оттенком красного. Порядок основных цветов красный, зеленый и синий. (как следует из аббревиатуры). Обратите внимание, что если цифры находятся в диапазоне 0-1, их необходимо умножить на 255. первый.

Чтобы преобразовать цвет RGB в шестнадцатеричный, работайте с каждым из трех компонентов отдельно. Разделите первую цифру на 16: 201/16 = 12 + 0,5625 (остаток). Умножьте остаток на 16 (0,5625*16 = 9). Чтобы определить шестнадцатеричный формат каждой цифры вам нужно обратиться к этой таблице, которая также используется для преобразования шестнадцатеричного цвета в RGB:

Как видите, 12 — это C, а 9 — тоже 9. В результате этот цвет выражается в шестнадцатеричном виде как #C9 __.

Далее разделите второе число тоже на 16: 20/16 = 1 + 0,25. Остаток тоже надо умножить на 16, что дает 4 (0,25 * 16). Теперь вы знаете, что код выглядит как #C9.14__.

Повторите то же деление и умножение для третьего значения (60). В этом примере 60/16 = 3 + 0,75, в то время как остаток, умноженный на 16, дает 12. Таким образом, полный код #C9143C. К счастью, у вас нет выполнять эти вычисления каждый раз. Просто используйте наш мгновенный конвертер RGB в шестнадцатеричный формат!

Как преобразовать шестнадцатеричный код в RGB

Введите шестнадцатеричный код в соответствующее поле, чтобы увидеть соответствующее значение RGB (например, #0161bd RGB(1,97,189)). Это самый простой способ преобразовать любой оттенок из шестнадцатеричного в цвет RGB. Если вы хотите бросить вызов сами, вот ручной метод:

Каждые две цифры кода представляют один цвет, поэтому вам необходимо преобразовать каждый элемент в десятичные значения. См. таблицу выше. Давайте посмотрим, как вы можете преобразовать шестнадцатеричный код в RGB для оттенка красного, используемого в предыдущий пример (#C9143C).

  1. Возьмите десятичный эквивалент C из таблицы (12) и умножьте на 16. Получится 192.
  2. Преобразуйте вторую цифру (9 в шестнадцатеричном формате — это 9 в RGB) и сложите ее, чтобы получить значение для красного цвета (192 + 9 = 201).
  3. Выполните те же вычисления для последующих пар цифр. Вы получите 1*16 + 4 = 20 (для зеленого) и 3*16+12=60 (для синего). В результате шестнадцатеричное значение для RGB равно (201, 20, 60)

Что такое конвертер Hex в RGB?

Этот простой инструмент для веб-профессионалов мгновенно преобразует цветовые коды между системами. Это бесплатно и доступны из любого браузера. Забудьте о ручных расчетах! На этой странице вы преобразуете цвет RGB в hex или наоборот, чтобы найти правильный код за доли секунды.

Различия между Hex и RGB

Преобразование шестнадцатеричных цветов в RGB основано на совпадениях между системами, выражающими одно и то же: пропорции красный, зеленый и синий, которые образуют все цвета на компьютерных мониторах, цифровых устройствах, в играх и с подсветкой.

знаки. Нет никакой информационной разницы между RGB (красный, зеленый и синий) и hex (шестнадцатеричный код). Последнее, по сути, является сокращением для значений RGB.

Чтобы перевести hex в RGB, нужно понимать их принципиальные отличия. В то время как RGB использует наборы из 3 числовые значения от 0 до 255, hex обычно представляет собой последовательность из 6 символов (цифры и буквы). Например, #000000 (0,0,0 в RGB) — черный, а #FFFFFF — белый (255 255 255 в RGB). Любой формат кодирования показывает сочетания трех цветов, образующих весь видимый спектр.

Итак, почему пользователи преобразовывают RGB в шестнадцатеричный код? Во-первых, более короткие идентификаторы используются дизайнерами и разработчиками для создавать веб-сайты в CSS и HTML. Инженеры-программисты также предпочитают их за простоту, поскольку каждый цвет является одну строку, ее проще скопировать и вставить из текстового документа или чата. В то же время вы можете нужно преобразовать шестнадцатеричный цвет в RGB для определенных задач, таких как добавление непрозрачности.

Эти форматы не следует путать с CMYK (голубой, пурпурный, желтый и черный), которые используются в различных обычные предприятия, такие как типографии. Например, брошюры и визитки создаются с использованием CMYK. Цвета Pantone также в основном используются в печати.

Когда использовать Hex и когда использовать RGB

Поскольку оба кода определяют одни и те же цвета, выбор зависит от личных предпочтений. Ключевая причина конвертировать RGB в шестнадцатеричный — это удобно. Для веб-дизайнера идентификаторы RGB слишком громоздки, поскольку могут содержать от 3 до 9цифры всего. Основная проблема с этими триплетами заключается в том, что они могут сбить с толку программистов.

В шестнадцатеричном формате каждое значение является компактным и включает 6 символов. Краткость снижает вероятность ошибки. Более того, эти коды можно сократить до 3 цифр вместо 6! Это происходит, когда оба значения для каждого элемента идентичный. Например, #AABBCC становится #ABC. Другими причинами перевода RGB в шестнадцатеричный формат являются:

  • cHex лучше подходит для минимизации кода.
  • Hex позволяет веб-страницам загружаться быстрее, так как шестнадцатеричные цифры быстрее преобразуются в двоичные.
  • Шестнадцатеричные коды легче копировать из разных программ.
  • Шестнадцатеричные коды чаще встречаются в эталонных цветовых схемах, поскольку они являются стандартными для CSS и HTML. код.

Вы можете задаться вопросом, почему дизайнеры вообще используют преобразование RGB в шестнадцатеричный формат. Иногда этот другой формат более предпочтительнее для конкретных задач. Например:

  • придание цвету в CSS альфа-канала вместо создания отдельного свойства непрозрачности,
  • делает веб-страницы более удобными для печати, поскольку принтеры лучше понимают RGB,
  • управление цветами с помощью JavaScript (RGB делает это проще).

Альфа-канал обеспечивает непрозрачность, поэтому, используя этот шестнадцатеричный преобразователь в RGB, вы можете сделать фон в определенные области темнее или ярче. Формат RGBA включает четвертое значение (красный, зеленый, синий и альфа-канал). Наконец, RGB распознается Internet Explorer 9 и предыдущими версиями.

Использование шестнадцатеричного кода в веб-дизайне не является обязательным. Можно кодировать страницы в HTML, используя коды RGB или даже названия цветов. Например, если бы вам нужно было закодировать фон аквамарином, было бы три возможных варианта. последовательности:

  • шестнадцатеричный:
  • RGB:
  • Код названия цвета:

Используйте наш бесплатный инструмент для преобразования цветов RGB в шестнадцатеричные и уменьшите вероятность ошибок в вашем проекте. Если другое кодеры решают вычислять значения RGB вручную, это может превратить вашу работу в эстетическую катастрофу. Ты можешь также при необходимости измените шестнадцатеричный цвет на RGB.

История создания различных цветовых кодов

Истоки кодирования RGB уходят в 19 век, в теорию трехцветного цветового зрения. Это был разработан Томасом Янгом в 1802 году и Германом фон Гельмгольцем в 1850-х годах. Согласно теории, человеческий глаз включает в себя три типа фоторецепторов, которые реагируют на световые волны разной длины. Сегодня они называются колбочками.

Джеймс Максвелл, доказавший теорию в 1857 году, добавил цветовой треугольник. Он также занял первое постоянное цветная фотография с использованием красного, зеленого и фиолетово-синего фильтров. Эти ранние эксперименты включали создание отдельных берёт с разными цветными фильтрами и проецирует их все на экран.

В первых цветных телевизорах передача цвета основывалась на использовании механического колеса RGB. Эта система была введен пионером Джоном Логи Бэрдом в 1928 году.

Перенесемся в 1990-е: NCSA Mosaic и Netscape Navigator стали первыми браузерами, поддерживающими RGB-подсветку. цвет. В то время дизайнеры могли использовать только 256 «веб-безопасных» цветов. В начале 2000-х эта система была заменен 24-битным True Color, на смену которому пришла 48-битная система, известная нам сегодня. Это позволяет дизайнерам для создания более 16 миллионов цветов. Используйте наш конвертер цветов RGB в шестнадцатеричный, чтобы найти точные эквиваленты кода.

Часто задаваемые вопросы

Являются ли цвета RGB и шестнадцатеричные одинаковыми?

По сути, да. Это два разных способа выразить одно и то же. Оба метода кодирования выражают соотношение между красной, зеленой и синей составляющими цвета. Шестнадцатеричные коды короче, поэтому они проще использовать и делиться. Оба соглашения работают с такими языками кодирования, как CSS, но у них также есть свои особенности. приложений, поэтому вам может потребоваться преобразовать код RGB в шестнадцатеричный или обратно.

Лучше использовать шестнадцатеричный формат или RGB?

Каждый код имеет свои преимущества для конкретных задач, но ключевым моментом является согласованность. Превратив шестнадцатеричный код цвета в RGB, вы можно добавить альфа-канал для непрозрачности. Этот формат также поддерживается старыми браузерами. Шестнадцатеричные коды являются стандартными для HTML и CSS, легко распространяемый и лучший для минимального кодирования и более быстрой загрузки страницы. Чтобы найти код эквиваленты, используйте наш шестнадцатеричный преобразователь цвета в RGB.

Как лучше преобразовать шестнадцатеричный формат в RGB?

Воспользуйтесь нашим бесплатным конвертером шестнадцатеричных кодов в RGB, чтобы мгновенно найти соответствие цветового кода. Ручное преобразование работает в обе стороны, но это долго и не нужно. Вам нужно разделить имеющийся у вас код на наборы цифр и превратить их в десятичный или шестнадцатеричный формат отдельно. Бесплатный инструмент на этой странице превращает шестнадцатеричные цвета в цвета RGB в мгновенное.

Отличаются ли эти коды от CMYK и Pantone?

Да. Они используются веб-браузерами, в то время как CMYK и Pantone выбирают принтеры и другие обычные производители. заведения. Первая система работает путем формирования различных комбинаций четырех цветов (голубого, пурпурного, желтый и черный), в то время как Pantone использует заранее определенные цвета для поиска соответствия.

Как конвертировать цветовые коды (RGB, HSL, HSV, Hex, Long, CMYK)

Мне часто приходится преобразовывать цветовые коды разных форматов; особенно из шестнадцатеричного в RGB и обратно. Вместо того, чтобы запускать Google и искать инструменты преобразования цвета в Интернете, я решил написать свои собственные определяемые пользователем функции в Excel, теперь я могу вместо этого вычислить результат на листе.

Функции в этом посте включают преобразование для RGB, hex, HSL, HSV, CMYK и длинных форматов.

Используя эти функции преобразования цвета, я создал надстройку, которая делает преобразование еще проще. Продолжайте читать, чтобы узнать, как скачать надстройку бесплатно.

Загрузите пример файла : Нажмите на ссылку ниже, чтобы загрузить пример файла, использованного для этого поста:

0006 Преобразование цветовых кодов — Downloads. zip Download

Загрузки включают:

  • 0006 Преобразование цветовых кодов.xlsm — включает все пользовательские функции
  • ColorCodeConverter.xlam — Надстройка Excel для преобразования цвета
  • Инструкции по установке надстройки.pdf — Установка надстройки и xlsm инструкции по разблокировке

Содержание

Различные форматы цветовых кодов Excel

Даже в Excel существует четыре различных метода определения цвета; RGB, шестнадцатеричный, HSL и длинный.

RGB

Цветовой код RGB (красный, зеленый и синий) используется в диалоговом окне стандартного цвета.

Отдельные цвета Красный, Зеленый и Синий имеют 256 различных оттенков, которые при смешивании могут создавать 16 777 216 различных цветовых комбинаций.

HSL

В диалоговом окне стандартного цвета есть другой формат кода; используя раскрывающийся список цветовой модели , мы можем изменить его на HSL. HSL использует H ue, S насыщенность и L яркость для создания цвета.

HSL пытается определить цвета ближе к тому, как люди думают о цветах.

  • Оттенок — это градус на цветовом круге от 0 до 360. 0 — красный, 120 — зеленый, 240 — синий.
  • Насыщенность – это процент от количества включенного цвета. 100% — полный цвет, 0% — отсутствие цвета (т. е. все серое)
  • Яркость (или яркость) — процент серого. 0% черный, 100% белый.

К сожалению, Excel не обрабатывает HSL стандартным способом. Вместо этого Excel измеряет все числа, где 0 — наименьшее, а 255 — самое большое. Но это причуда, с которой мы можем справиться.

Длинный

Длинный цветовой код используется VBA при отображении свойства цвета элемента. Следующий макрос отображает длинный код для заполнения активной ячейки.

 Подпрограмма ActiveCellColor()
MsgBox "Длинный код цвета: " & ActiveCell.Interior.Color
End Sub 

Выберите ячейку и запустите макрос.

Длинный код представляет собой число от 0 до 16 777 215, где каждое отдельное число представляет цвет. Соотношение между RGB и long основано на простом расчете:

Длинный = Синий x 256 x 256 + Зеленый x 256 + Красный

Например:

  • Где красный: 33, зеленый: 115 и синий: 70
  • Результат вычисляется как + 70 x 256 x 256 115 x 256 + 33 = 4 616 993

Длинные и RGB связаны; это просто разные способы вычисления одного и того же числа.

Hex

Hex (сокращение от шестнадцатеричного) цветовые коды находятся в двух местах в Excel.

  • Палитра цветов — Excel 2021 и Excel 365
  • VBA — все версии Excel

С момента появления шестнадцатеричных кодов в палитре цветов теперь существует встроенное преобразование между цветовыми кодами RGB, Hex и HSL.

Шестнадцатеричные цветовые коды аналогичны RGB, поскольку они также используют 256 оттенков для каждого отдельного цвета. Критическое отличие состоит в том, что шестнадцатеричная система представляет числа от 0 до 255, используя всего два символа. Это возможно, потому что hex использует Base-16.

Обычно в повседневной жизни мы используем десятичную систему счисления, что означает, что у нас есть 10 цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).) имеется в наличии. Например, число 14 создается с помощью формулы (1 x основание) + 4. Основание равно 10, поэтому результат рассчитывается как (1 x 10) + 4, что равно 14.

Для основания-16 , имеется 16 цифр; однако, поскольку у нас недостаточно числовых символов, мы используем A, B, C, D, E и F для представления чисел от 10 до 15.

Например, шестнадцатеричное число AB равно 171.

  • A = 10
  • B = 11.
  • Вычисление (A x основание) + B = (10 x 16) + 11 = 171

В шестнадцатеричном формате наименьшее значение равно нулю, а наибольшее значение – F (равно 15). Следовательно, существует 16 возможных индивидуальных цифр. Это означает, что из двух цифр мы можем создать 256 оттенков (16 х 16 = 256), что равносильно RGB. Таким образом, hex также имеет те же 16 777 216 комбинаций, что и RGB и long.

Шестнадцатеричные коды представлены в том же порядке, что и RGB, поэтому, если шестнадцатеричный код цвета # 467321 , первые два символа представляют красный цвет, два средних символа — зеленый, а последние два — синий.

Используя шестнадцатеричный код #467321 в качестве примера, преобразование в RGB будет следующим:

  • Красный: шестнадцатеричное значение 46 вычисляется как (4 * 16) + 6 = 70
  • Зеленый: шестнадцатеричное значение 73 вычисляется как ( 7 * 16) + 3 = 115
  • Синий: шестнадцатеричное значение 21 вычисляется как (2 * 16) + 1 = 33

Шестнадцатеричные коды используются в свойствах VBA для определения цвета.

Код цвета на скриншоте выше: &H00467321&. Однако при использовании кода VBA есть очень тонкая разница; шестнадцатеричный код должен быть изменен. Первые два символа обозначают синий цвет, два средних символа — зеленый, а последние два — синий.

Обычно синим будет # 0000FF , но для свойства VBA код будет следующим: &H00FF0000&

  • & = начальный символ
  • H = шестнадцатеричный код
  • BA 00 = пользовательский цвет
  • FF0000 = шестнадцатеричный код цвета с перевернутым RGB
  • & = конечный символ

CMYK

Другой распространенной системой цветового кодирования является CMYK. Он используется в основном для печати, так как определяет количество C yan, M agenta, Y ellow и blac K чернила, используемые для перекрывающихся печатных точек.

Хотя Excel не использует CMYK, это распространенный метод, поэтому я включил его в рамки этого поста.

HSV

Наконец, чтобы дополнить спектр систем цветового кодирования, существует HSV. Он похож на HSL, но в качестве мер использует H ue, S насыщение и V alue. Это не просто HSL под другим именем. В то время как оттенок одинаков в обеих системах, насыщенность и значение рассчитываются как разные значения.

Excel не поддерживает HSV, но включен ниже, поскольку это распространенный метод.

Определяемые пользователем функции для преобразования цветов

В предыдущем разделе я пытался объяснить, как каждый метод определяет цвета, но преобразование между ними — это совсем другое дело, и это намного сложнее. К счастью, мы можем позволить Excel сделать всю работу за нас. Ниже приведены UDF для преобразования между различными методами.

ПОМНИТЕ! – Для использования функций VBA код должен быть включен в стандартный модуль кода VBA.

RGB, hex и long основаны на целых числах, поэтому они должны идеально преобразовываться друг в друга. CMYK и HSL включают десятичные разряды и проценты, поэтому могут создавать небольшие различия в их преобразованиях.

Преобразование из RGB в шестнадцатеричный

Следующая пользовательская функция вычисляет шестнадцатеричное значение на основе цветовых кодов RGB.

 Функция GetHexFromRGB (красный как целое число, зеленый как целое число, синий как целое число) как строка
GetHexFromRGB = "#" и VBA.Right$("00" и VBA.Hex(красный), 2) и _
    VBA.Right$("00" и VBA.Hex(зеленый), 2) и VBA.Right$("00" и VBA.Hex(синий), 2)
Завершить функцию 

Как использовать функцию:

Функция содержит 3 аргумента, значения от 0 до 255 для каждого отдельного красного, зеленого или синего значения.

Преобразование из шестнадцатеричного формата в RGB

Приведенная ниже пользовательская функция предоставляет значение красного, зеленого или синего цвета в зависимости от шестнадцатеричного цвета.

 Функция GetRGBFromHex(hexColor как строка, RGB как строка) как строка
hexColor = VBA.Replace (hexColor, "#", "")
hexColor = VBA.Right$("000000" & hexColor, 6)
Выберите корпус RGB
    Дело "Б"
        GetRGBFromHex = VBA.Val("&H" & VBA.Mid(hexColor, 5, 2))
    Корпус "Г"
        GetRGBFromHex = VBA.Val("&H" & VBA.Mid(hexColor, 3, 2))
    Корпус "Р"
        GetRGBFromHex = VBA.Val("&H" & VBA.Mid(hexColor, 1, 2))
Конец выбора
Завершить функцию 

Как пользоваться функцией:

Функция содержит 2 аргумента;

  1. шестнадцатеричный код
  2. буква R, G или B, представляющая возвращаемый цвет

Преобразование из RGB в длинное

Этот определяемый пользователем функция предоставляет длинное значение на основе цветовых кодов RGB.

 Функция GetLongFromRGB (красный как целое число, зеленый как целое число, синий как целое число) As Long
GetLongFromRGB = RGB (красный, зеленый, синий)
Завершить функцию 

Как использовать функцию:

Функция содержит 3 аргумента, значения от 0 до 255 для каждого отдельного красного, зеленого или синего значения.

Преобразование из длинного в RGB

Чтобы преобразовать из RGB в длинный цветовой код, используйте следующую пользовательскую функцию.

 Функция GetRGBFromLong (longColor As Long, RGB As String) As Integer
Выберите корпус RGB
    Корпус "Р"
        GetRGBFromLong = (модификация longColor 256)
    Корпус "Г"
        GetRGBFromLong = (longColor \ 256) Mod 256
    Дело "Б"
        GetRGBFromLong = (longColor \ 65536) Mod 256
Конец выбора
Завершить функцию 

Как пользоваться функцией:

Функция содержит 2 аргумента;

  1. длинный код
  2. буква R, G или B, в зависимости от того, какой цвет мы хотим вернуть.

Преобразование из длинного в шестнадцатеричный

Следующая пользовательская функция предоставляет шестнадцатеричный код на основе длинного цветового кода.

 Функция GetHexFromLong (longColor As Long) как строка
Dim R как строка
Dim G как строка
Dim B как строка
R = Формат (Application.WorksheetFunction.Dec2Hex (longColor Mod 256), «00»)
G = Format(Application.WorksheetFunction.Dec2Hex((longColor \ 256) Mod 256), "00")
B = Формат (Application.WorksheetFunction.Dec2Hex((longColor \ 65536) Mod 256), "00")
GetHexFromLong = "#" & R & G & B
Завершить функцию 

Как использовать функцию:

Функция имеет только один аргумент, который представляет собой длинный код цвета.

Преобразование шестнадцатеричного кода в длинный

Приведенный ниже UDF преобразует шестнадцатеричный код в длинный цветовой код.

 Функция GetLongFromHex(hexColor As String) As Long
Dim R как строка
Dim G как строка
Dim B как строка
hexColor = VBA. Replace (hexColor, "#", "")
hexColor = VBA.Right$("000000" & hexColor, 6)
R = левый (hexColor, 2)
G = Середина (hexColor, 3, 2)
B = справа (hexColor, 2)
GetLongFromHex = Application.WorksheetFunction.Hex2Dec(B & G & R)
Завершить функцию 

Как использовать функцию:

Функция имеет только один аргумент, который представляет собой шестнадцатеричный код.

Преобразование из RGB в HSL

Приведенный ниже UDF возвращает степень оттенка, % насыщенности или % яркости на основе цветовых кодов RGB.

 Функция GetHSLFromRGB(красный как целое число, зеленый как целое число, синий как целое число, _
    HSL как строка)
Dim RedPct как двойной
Dim GreenPct как двойной
Dim BluePct как двойной
Затемнить MinRGB как двойной
Dim MaxRGB как двойной
Dim H как двойной
Dim S как двойной
Dim L как двойной
RedPct = Красный / 255
GreenPct = Зеленый / 255
BluePct = синий / 255
MinRGB = Application.WorksheetFunction.Min(RedPct, GreenPct, BluePct)
MaxRGB = Application. WorksheetFunction.Max(RedPct, GreenPct, BluePct)
L = (Мин.RGB + Макс.RGB) / 2
Если MinRGB = MaxRGB Тогда
    С = 0
ИначеЕсли L < 0,5 Тогда
    S = (Макс.RGB - Мин.RGB) / (Макс.RGB + Мин.RGB)
Еще
    S = (Макс.RGB - Мин.RGB) / (2 - Макс.RGB - Мин.RGB)
Конец, если
Если S = ​​0 Тогда
    Н = 0
ElseIf RedPct >= Application.WorksheetFunction.Max(GreenPct, BluePct) Тогда
    H = (GreenPct - BluePct) / (MaxRGB - MinRGB)
ElseIf GreenPct >= Application.WorksheetFunction.Max(RedPct, BluePct) Тогда
    H = 2 + (BluePct - RedPct) / (MaxRGB - MinRGB)
Еще
    H = 4 + (RedPct - GreenPct) / (MaxRGB - MinRGB)
Конец, если
Н = Н * 60
Если H < 0, то H = H + 360
Выберите дело HSL
    Корпус "Н"
        ПолучитьHSLFromRGB = H
    Случаи"
        ПолучитьHSLFromRGB = S
    Корпус "Л"
        ПолучитьHSLFromRGB = L
Конец выбора
Завершить функцию 

Как пользоваться функцией:

Функция содержит 4 аргумента. Значения R, G и B, затем буква H, S или L, в зависимости от значения, которое должно быть возвращено функцией.

Расчет преобразования в HSL основан на расчете отсюда: http://www.niwa.nu/2013/05/math-behind-colorspace-conversions-rgb-hsl/

Преобразование из HSL в RGB

Следующая пользовательская функция вычисляет значения RGB на основе степени оттенка, % насыщенности и % яркости

 Функция GetRGBFromHSL (оттенок как двойной, насыщенность как двойная, яркость как двойная, RGB как строка)
Dim R как двойной
Dim G как двойной
Dim B как двойной
Dim temp1 как двойной
Dim temp2 как двойной
Dim tempR как двойной
Dim tempG как двойной
Dim tempB как двойной
Если Насыщенность = 0 Тогда
    R = яркость * 255
    G = яркость * 255
    В = яркость * 255
Перейти к возвращаемому значению
Конец, если
Если Яркость < 0,5 Тогда
    temp1 = яркость * (1 + насыщенность)
Еще
    temp1 = яркость + насыщенность - яркость * насыщенность
Конец, если
temp2 = 2 * яркость - temp1
Оттенок = оттенок / 360
tempR = оттенок + 0,333
tempG = оттенок
tempB = оттенок - 0,333
Если tempR < 0, то tempR = tempR + 1
Если tempR > 1 Тогда tempR = tempR - 1
Если tempG < 0, то tempG = tempG + 1
Если tempG > 1, то tempG = tempG - 1
Если tempB < 0, то tempB = tempB + 1
Если tempB > 1, то tempB = tempB - 1
Если 6 * tempR < 1 Тогда
    R = temp2 + (temp1 - temp2) * 6 * tempR
Еще
    Если 2 * tempR < 1 Тогда
        R = темп1
    Еще
        Если 3 * tempR < 2 Тогда
            R = temp2 + (temp1 - temp2) * (0,666 - tempR) * 6
        Еще
            R = темп2
        Конец, если
    Конец, если
Конец, если
Если 6 * tempG < 1 Тогда
    G = temp2 + (temp1 - temp2) * 6 * tempG
Еще
    Если 2 * tempG < 1 Тогда
        G = темп1
    Еще
        Если 3 * tempG < 2 Тогда
            G = temp2 + (temp1 - temp2) * (0,666 - tempG) * 6
        Еще
            G = темп2
        Конец, если
    Конец, если
Конец, если
Если 6 * tempB < 1 Тогда
    B = temp2 + (temp1 - temp2) * 6 * tempB
Еще
    Если 2 * tempB < 1 Тогда
        В = темп1
    Еще
        Если 3 * tempB < 2 Тогда
            B = temp2 + (temp1 - temp2) * (0,666 - tempB) * 6
        Еще
            В = темп2
        Конец, если
    Конец, если
Конец, если
Р = Р * 255
Г = Г * 255
В = В * 255
Возвращаемое значение:
Выберите корпус RGB
    Корпус "Р"
        GetRGBFromHSL = Round(R, 0)
    Корпус "Г"
        GetRGBFromHSL = Round(G, 0)
    Дело "Б"
        GetRGBFromHSL = раунд (B, 0)
Конец выбора
Завершить функцию 

Как пользоваться функцией:

Функция содержит 4 аргумента. Степень оттенка, % насыщенности и % яркости, а также буква R, G или B в зависимости от возвращаемого значения

Расчет для преобразования из HSL основан на расчете отсюда: http://www.niwa. nu/2013/05/math-behind-colorspace-conversions-rgb-hsl/

Преобразование из RGB в CMYK

Следующий UDF предоставляет значение % для голубого, пурпурного, желтого или черного на основе цветовых кодов RGB.

 Функция GetCMYKFromRGB (красный как целое, зеленый как целое, синий как целое, CMYK как строка) как двойной
Dim K как двойной
Dim RedPct как двойной
Dim GreenPct как двойной
Dim BluePct как двойной
Dim MaxRGB как двойной
RedPct = Красный / 255
GreenPct = Зеленый / 255
BluePct = синий / 255
MaxRGB = Application.WorksheetFunction.Max(RedPct, GreenPct, BluePct)
Если MaxRGB = 0 И CMYK <> "K" Тогда
    ПолучитьCMYKFromRGB = 0
    Выход из функции
Конец, если
К = 1 - Макс.RGB
Выберите регистр CMYK
    Дело "С"
        GetCMYKFromRGB = (1 - RedPct - K) / (1 - K)
    Корпус "М"
        GetCMYKFromRGB = (1 - GreenPct - K) / (1 - K)
    Дело "Ю"
        GetCMYKFromRGB = (1 - BluePct - K) / (1 - K)
    Корпус "К"
        ПолучитьCMYKFromRGB = K
Конец выбора
Завершить функцию 

Как использовать функцию:

Функция требует 4 аргумента. Значения R, G и B вместе с буквой C, M, Y или K, в зависимости от возвращаемого значения.

Расчет преобразования в CMYK основан на расчете отсюда: https://www.easycalculation.com/colorconverter/cmyk-rgb-color-convertor.php

Преобразование из CMYK в RGB

Чтобы получить C , M, Y или K в процентах от RGB используют UDF ниже.

 Функция GetRGBFromCMYK(C как двойной, M как двойной, Y как двойной, K как двойной, RGB как строка) как целое число
Выберите корпус RGB
    Корпус "Р"
        ПолучитьRGBFromCMYK = 255 * (1 - К) * (1 - С)
    Корпус "Г"
        ПолучитьRGBFromCMYK = 255 * (1 - К) * (1 - М)
    Дело "Б"
        ПолучитьRGBFromCMYK = 255 * (1 - K) * (1 - Y)
Конец выбора
Завершить функцию 

Как использовать функцию:

Функция требует 5 аргументов. Голубой, пурпурный, желтый и черный проценты, а также буква R, G или B, в зависимости от возвращаемого значения.

Расчет преобразования из CMYK основан на расчете отсюда: https://stackoverflow. com/questions/106

/coloring-cells-in-excel-with-cmyk-cell-values ​​

Преобразование из RGB в HSV

Приведенная ниже пользовательская функция возвращает степень оттенка, % насыщенности или % значения на основе цветовых кодов RGB.

 Функция GetHSVFromRGB (красный как целое число, зеленый как целое число, синий как целое число, HSV как строка)
Dim RedPct как двойной
Dim GreenPct как двойной
Dim BluePct как двойной
Затемнить MinRGB как двойной
Dim MaxRGB как двойной
Dim H как двойной
Dim S как двойной
Dim V как двойной
RedPct = Красный / 255
GreenPct = Зеленый / 255
BluePct = синий / 255
MinRGB = Application.WorksheetFunction.Min(RedPct, GreenPct, BluePct)
MaxRGB = Application.WorksheetFunction.Max(RedPct, GreenPct, BluePct)
В = Макс.RGB
Если MaxRGB = 0 Тогда
    С = 0
Еще
    S = (Макс.RGB - Мин.RGB) / Макс.RGB
Конец, если
Если S = ​​0 Тогда
    Н = 0
ElseIf RedPct >= Application.WorksheetFunction.Max(GreenPct, BluePct) Тогда
    H = (GreenPct - BluePct) / (MaxRGB - MinRGB)
ElseIf GreenPct >= Application. WorksheetFunction.Max(RedPct, BluePct) Тогда
    H = 2 + (BluePct - RedPct) / (MaxRGB - MinRGB)
Еще
    H = 4 + (RedPct - GreenPct) / (MaxRGB - MinRGB)
Конец, если
Н = Н * 60
Если H < 0, то H = H + 360
Выберите случай ВПГ
    Корпус "Н"
        ПолучитьHSVFromRGB = H
    
    Случаи"
        ПолучитьHSVFromRGB = S
    
    Корпус "В"
        ПолучитьHSVFromRGB = V
Конец выбора
Завершить функцию 

Расчет преобразования в HSV из RGB на основе расчета отсюда: https://www.calculatorology.com/hsv-to-rgb-conversion/

Преобразование из HSV в RGB

Следующая пользовательская функция вычисляет RGB значения, основанные на степени оттенка, насыщенности % и значения % метода HSV.

 Функция GetRGBFromHSV (оттенок как двойной, насыщенность как двойная, значение как двойное, RGB как строка)
Dim R как двойной
Dim G как двойной
Dim B как двойной
Dim C как двойной
Dim X как двойной
Dim m как двойной
C = Насыщенность * Значение
X = C * (1 - Abs ((CDec (оттенок / 60) - 2 * Int ((оттенок / 60) / 2)) - 1))
м = Значение - С
Если Оттенок >= 0 И Оттенок < 60 Тогда
    Р = С
    Г = Х
    В = 0
ИначеЕсли Оттенок >= 60 И Оттенок < 120 Тогда
    Р = Х
    Г = С
    В = 0
ИначеЕсли Оттенок >= 120 И Оттенок < 180 Тогда
    Р = 0
    Г = С
    В = Х
ИначеЕсли Оттенок >= 180 И Оттенок < 240 Тогда
    Р = 0
    Г = Х
    В = С
ИначеЕсли Оттенок >= 240 И Оттенок < 300 Тогда
    Р = Х
    Г = 0
    В = С
Еще
    Р = С
    Г = 0
    В = Х
Конец, если
Р = (Р + м) * 255
Г = (Г + м) * 255
В = (В + м) * 255
Выберите корпус RGB
    Корпус "Р"
        GetRGBFromHSV = Раунд(R, 0)
    
    Корпус "Г"
        GetRGBFromHSV = Round(G, 0)
    
    Дело "Б"
        GetRGBFromHSV = раунд (B, 0)
Конец выбора
Завершить функцию 

Расчет преобразования в HSV из RGB на основе расчета отсюда: https://www. codespeedy.com/hsv-to-rgb-in-cpp/

Надстройка преобразования цвета

Использование этих функций преобразования , я создал надстройку Excel, которая будет быстро переключаться между различными цветовыми кодами.

Надстройка включена в загрузку вверху поста. Чтобы установить надстройку, следуйте инструкциям в формате PDF, включенным в загрузку, или следуйте инструкциям в этом сообщении.

После установки меню EOTG будет включать значок с именем Converter в группе Color Codes.

Нажмите кнопку, чтобы открыть инструмент. При вводе значений в любое из полей в других полях автоматически отображаются преобразованные коды.

Заключение

Я надеюсь, что в этом посте вы найдете все необходимые преобразования цветов. Если вы хотите выполнить преобразование между двумя методами, которые я не рассмотрел выше (например, шестнадцатеричный код в HSL не был включен), выполните преобразование из исходного кода в RGB, а затем из RGB в целевой режим.

Связанные посты:

  • Вызов и использование цветового выбора с VBA
  • 5 Правила для цветовой палитры на панели приборной панели
  • Динамические массивы и пользователь VBA, определенные (UDF)

около автора


около автора


. около автора


728


728


728


. около. Привет, меня зовут Марк, и я запускаю Excel Off The Grid.

Мои родители рассказали мне, что в возрасте 7 лет я объявил, что стану квалифицированным бухгалтером. Либо я был экстрасенсом, либо у меня не было воображения, как это и произошло. Однако мое путешествие по-настоящему началось только в 35 лет.

В 2015 году я устроился на новую работу, на которой регулярно работал после 22:00. В результате я редко видел своих детей в течение недели. Итак, я начал искать секреты автоматизации Excel. Я обнаружил, что, создав небольшое количество простых инструментов, я могу комбинировать их по-разному, чтобы автоматизировать почти все свои обычные задачи. Это означало, что я мог работать меньше часов (и мне повысили зарплату!). Сегодня я обучаю этим техникам других специалистов в рамках нашей программы обучения, чтобы они тоже могли проводить меньше времени на работе (и больше времени со своими детьми и любимым делом).


Вам нужна помощь в адаптации этого поста к вашим потребностям?

Я предполагаю, что примеры в этом посте не совсем соответствуют вашей ситуации. Мы все используем Excel по-разному, поэтому невозможно написать пост, который удовлетворит все потребности. Потратив время на то, чтобы понять методы и принципы, изложенные в этом посте (и в других местах на этом сайте), вы сможете адаптировать его к своим потребностям.

Но если вы все еще испытываете трудности, вам следует:

  1. Почитайте другие блоги или посмотрите видео на YouTube по той же теме. Вы получите гораздо больше пользы, открыв для себя собственные решения.
  2. Спросите «Excel Ninja» в вашем офисе. Удивительно, какие вещи знают другие люди.
  3. Задайте вопрос на форуме, таком как Mr Excel, или в сообществе Microsoft Answers. Помните, что люди на этих форумах обычно отдают свое время бесплатно. Поэтому постарайтесь сформулировать свой вопрос, убедитесь, что он четкий и лаконичный.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *