Подбор цвета — RGB и HSV

06.12.22

Разработка - Инструментарий разработчика

Для тех, кому не хватает возможностей стандартного ДиалогВыбораЦвета, предлагаю инструмент для подбора цвета. Используются цветовые модели RGB и HSV. Цвет RGB представлен как в формате 1С, так и шестнадцатеричном web-формате. Есть возможность выбирать Web-цвета и цвета стилей. В отличие от многочисленных аналогов, в процессе подбора можно сразу видеть, как будет выглядеть цвет в элементах формы и в табличном документе. Не используются внешние компоненты и JavaScript.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Подбор цвета — RGB и HSV.:
.epf 20,57Kb
14 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Для начала пара слов о цветовых моделях RGB и HSV. Цветовая модель — способ описания цвета набором чисел. Для RGB это всем привычные Красный, Зеленый, Синий — спектральные цвета, на которые раскладывается белый свет (цвет). HSV это Hue — тон, оттенок (красный, желтый, зеленый и т.п.), Saturation — насыщенность (мера "чистоты цвета", насколько он далек от серого) и Value — значение, яркость (насколько цвет ярче/тусклее). HSV не надо путать с HSL, в последнем L — Lightness — светлота (светлый/темный). RGB удобен, когда нам надо получить заданный цвет из компонент - источников света, поэтому ЭЛТ и ЖК экраны, телевизионный и видео сигнал использует именно эту модель. Но RGB плохо подходит для художников и дизайнеров, им часто требуется "сделать цвет поярче", "подобрать цвета градиента", "выбрать дополнительные цвета" и т.п. Для них HSV гораздо удобнее.

Предлагаемая обработка позволяет подобрать цвет несколькими способами:

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

 

 

2) Ввод цвет строкой RGB — в формате 1С или web-формате (шестнадцатеричном).

 

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

 

3) Выбор цвета по шкале - R, G, B или H, SV

 

 

На шкале каждого компонента (кроме H-оттенка) мы видим цвета, которые получатся при изменении этого компонента и неизменных других. Т.е. на указанном примере в шкале R мы видим цвета от (0, 203, 219) до (255, 203 219).

И, наконец, 4) Выбор одного из стандартных цветов - WebЦвет, цвет стиля, цвет элемента стиля, заданного в конфигурации. Выбор производится двойным кликом на нужный цвет в списке.

 

 

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

Как будет выглядеть выбранный цвет, можно сразу увидеть в области примера:

 

 

Можно подбирать цвета фона, текста и рамки.

Для упрощения и ускорения работы, неиспользуемые панели отключаются:

 

 

В минимальном варианте форма выглядит так:

 

 

В максимальном вот так:

 

 

Пример использования:

&НаКлиенте
Процедура Подобрать(Команда)   
	ДопПараметры = Новый Структура("ИмяРеквизита","Цвет");
	Оповещение = Новый ОписаниеОповещения("Оповещение", ЭтотОбъект, ДопПараметры);
	ПараметрыФормы = Новый Структура();
	ПараметрыФормы.Вставить("Цвет", Цвет);
	ОткрытьФорму(ИмяФормыПодбораЦвета, ПараметрыФормы, ЭтотОбъект,,,,Оповещение);
КонецПроцедуры

&НаКлиенте
Процедура Оповещение(Результат, ДопПараметры)Экспорт
	Если ТипЗнч(Результат) = Тип("Структура")	Тогда
		ЭтотОбъект[ДопПараметры.ИмяРеквизита] = Результат.Цвет;
	КонецЕсли;
КонецПроцедуры 

При открытии формы можно указать параметр Цвет. Допустимо указывать либо значение типа Цвет, либо строку - в 1С- или web-формате, либо число. После выбора цвета возвращается Структура("Цвет, ЦветСтрока16, ЦветСтрока").

В следующих версиях планируется добавить:

  • историю выбора
  • выбор нескольких цветов
  • определение дополнительных цветов, триад и тетрад, градиента
  • использование типовых палитр

Обработка тестировалась на платформе 1С:Предприятие 8.3 (8.3.21.1393) в тонком клиенте.

На этом всё. Как всегда, приветствуются замечания / дополнения / комментарии.

 
   Некоторые из прочих моих публикаций 


  

Вступайте в нашу телеграмм-группу Инфостарт

Цвет подбор выбор цвета RGB HSV цветовая модель цветовое пространство WebЦвета ЦветаСтиля

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    203875    1124    410    

1025

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    36072    208    104    

197

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

16000 руб.

10.11.2023    16593    72    39    

89

Работа с интерфейсом Анализ учета Мониторинг 1С v8.3 8.3.14 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Библиотека стандартных подсистем 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

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

24000 руб.

27.03.2025    8320    19    13    

27

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    24151    63    28    

92

Инструментарий разработчика Программист 1С v8.3 Платные (руб)

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

9360 руб.

17.05.2024    34918    125    53    

167

SALE! 30%

Инструментарий разработчика WEB-интеграция 1С v8.3 1C v8.2 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Инструмент для генерации OpenApi (Swagger) спецификаций на основании файлов конфигураций 1С. Это консольное и десктопное приложение на языке Rust с полноценным редактором кода, содержащим автозамену и подсвечивание ошибок для быстрого и безошибочного написания документирующего комментария.

18000 12600 руб.

22.11.2024    1879    1    0    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. cleaner_it 198 08.12.22 12:30 Сейчас в теме
Полезная штука, год назад точно нужна была, да и в будущем может пригодиться
2. Alxby 1137 08.12.22 12:31 Сейчас в теме
(1)Ага. После пятого раза когда она "нужна была", наконец дошли руки до реализации)
3. SlavaKron 08.12.22 20:28 Сейчас в теме
Примерно такую же форму у себя сделал и тоже на ТабДоке. В идеале бы это нарисовать в поле HTML, так как табдок тяжеловат для такого количества ячеек.
У меня еще пользователи попросили сохраняемую палитру недавно использованных цветов. Думаю, в вашей форме тоже было бы не лишним.
4. Alxby 1137 08.12.22 20:34 Сейчас в теме
(3)HTML - гораздо лучший вариант, если сделаете - обязательно поделитесь. ТабДок не только тяжелый, он еще и медленный, поэтому пришлось ограничить количество ячеек. Я думаю, у меня соблюден баланс между точностью шкалы и скоростью перерисовки, но хотелось бы увеличить и то, и другое. Сохранение истории (а может, и избранного) будет реализовано в следующей версии.
5. SlavaKron 08.12.22 20:45 Сейчас в теме
(4) К сожалению, не силён в js. Для начала не плохо бы просто научиться генерировать растровое изображение, но знаний пока не хватает.
6. FarhadIlyazov 69 07.12.24 10:18 Сейчас в теме
Оставьте свое сообщение