[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
color_converter
Утилита для преобразования цвета
Скачать yandex.ru

Описание ini-файла

[process]
invert=1 - инвертирует цвет, то есть 255-цвет=новый, вычитает цвет от 255 получая новое значение.
bgr=0 - меняет красный на синий и наоборот. То есть RGB становится BGR и наоборот, или 445566 становится 665544
hsb_h_shift=180 - выполняет сдвиг тона цвета, например краный может стать зелёным или желтым или розовым, полный круг 360, а 180 тоже что инвертировать, но без изменения яркости и цветности.
hsb_s=36 - Насыщенность. Если преобразуется в чёрную тему, то насыщенность цвета лучше убавить до 36-50, если в белую то лучше 80
hsb_b=100 - Яркость. Здесь 0 делает цвет чёрным, а 100 максимально ярким. Уменьшение яркости также делает цвет менее насыщенным, менее цветным, сероватым.
hsb_h_g_shift=90 - сдвиг тона для серого цвета, имеет значение если следующий параметр отличается от нуля
hsb_s_g=0 - оставляет серые цвета серыми, иначе если не 0, то придаёт им начальный цвет, начиная от красного если нет сдвига тона. Позволяет серые цвета (808080, 404040 и т.д.) по умолчанию сделать иными.
background=FFFFFF - принудительно задать фон (поиск bgColor="цвет", используется в Notepad++)
regexp=(?<=fgColor=")[\da-z]{6}(?=") - регулярное выражение для поиска цвета, если конфиг имеет иные префиксы в отличии от конфига Notepad++
[set]
font=Arial - задаёт шрифт, чтобы каждый раз не изменять его вручную (поиск fontName="шрифт", используется в Notepad++).

Описание

С помощью регулярного выражения утилита захватывает все цвета в файле, далее преобразует их по заданным параметрам указанным в ini-файл и делает поиск и замену на новые цвета. Это позволяет преобразовать белую тему в чёрную и наоборот.
Инвертирование и сдвиг на 180 градусов это тоже что преобразовать яркость, то есть в чёрной теме яркие цвета текста текста, а в белой тёмные. То есть задача из ярко-красного сделать тёмно-красный и наоборот и так для всех цветов. Например 20% яркости нужно для белой темы, а для чёрной наоборот 80% яркости. Возьмём 20% красного текущим в белой теме и преобразуем в 80% для чёрной. Когда мы делаем вычитание цвета 100 - 20% = 80, это делается при инвертировании для каждого цвета, но цвет из красного превращается в яркий, но синий, но делаем цветовой сдвиг тона и снова возвращается к красному, но уже яркому - 80%.
Также можно попробовать следующий метод: экспортировать код в HTML, открыть в браузере и применить плагин "Dark Reader". Полученные цвета использовать в качестве замены.

План

План на отдалённое будущее
1. Можно было бы для некоторых стандартных цветов задать жёсткие инвертированные аналоги цвета. То есть не вычислять а заменять идеальным решением, так как вычисление не всегда является корректным, потому что в чёрных цветах разница менее заметна чем в белых, то есть числовое не является линейным по сравнению с чувствительностью глаза, то есть условно между 10 и 20 почти не будет разницы, а между 220 и 230 будет более заметная разница, поэтому числовое преобразование не всегда идеальное. Или цвет в неком диапазоне приравнять к жёстко заданному
2. Сделать экспорт всех найденных цветов в html и их преобразованные значение, чтобы пользователь визуально оценил все цвета и подкорректировал, так как подсветка текущего кода не отображает все цвета, а только для текущего языка программирования. Без этого можно столкнуться, что цвет плохо виден в текущей теме для других языков.
3. Задать диапазон серых цветов, например если после преобразования текст едва виден, то нижняя граница, например 606060 для черного была бы нижней границей яркости, а для белого например верхняя граница 999999


Показать сообщения:    

Текущее время: 29-Мар 05:13

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы