Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Linux (Ubuntu, Debian, Red Hat, CentOS, Mint)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы
Старый 10.09.2025, 14:09   #1
DeepFlake
Форумчанин
 
Регистрация: 16.05.2024
Сообщений: 228
По умолчанию [совет] Уменьшение яркости экрана

Сейчас производители ноутбуков взяли нехорошую моду делать сверхяркие экраны. Сейчас у экрана яркость 300 кандел на кв. м. - обычное дело, а есть модели с 500 кандел. Но 300 кандел - делаешь минимальную подсветку - и всё равно слишком ярко. Даже если сделать тёмную тему - всё равно текст светится белым слишко ярко на чёрном фоне. Можно настроить шрифт на Noto, у него начертание разной толщины, выбрать тонкий, тогда текст в основном, будет серым, но всё равно в интерфейсе есть жирный и полужирный текст, который будет ярко-белый. Да и web-сайты (например, этот) не все поддерживают тёмную тему.

Оказывается оконная система X умеет программно изменять яркость изображения путём сужения выходного цветового спектра (цветовой гаммы). Цвет задаётся тройкой (красный канал, зелёный канал, синий канал), и для каждого канала можно задать множитель.
Если для всех каналов задать одинаковый множитель меньше 1, то отсечётся белый цвет (255,255,255) и близкие к нему. А оконная система будет пропорционально отображать цвета исходного изображения на суженый диапазон.

Итак, чтобы программно затемнить изображение, надо дать команду:
Код:
xrandr --output ВИДЕОВЫХОД --brightness МНОЖИТЕЛЬ
Например "xrandr --output eDP --brightness 0.8" - диапазон цветов сужается на 20% с отсечением близких к белому.

Текущий видеовыход можно узнать по команде xrandr. Например
Код:
$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
eDP connected 1920x1080+0+0 (normal left inverted right x axis y axis) 355mm x 199mm
   1920x1080     60.00*+  40.00  
   1680x1050     60.00  
   1280x1024     60.00  
   1440x900      60.00  
   1280x800      60.00  
   1280x720      60.00  
   1024x768      60.00  
   800x600       60.00  
   640x480       60.00  
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
Узнать текущее значение программной яркости - по команде "xrandr --verbose". Например
Код:
$ xrandr --verbose | more
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
eDP connected 1920x1080+0+0 (0x56) normal (normal left inverted right x axis y a
xis) 355mm x 199mm
	Identifier: 0x52
	Timestamp:  94676
	Subpixel:   unknown
	Gamma:      1.0:1.0:1.0
	Brightness: 0.80
	Clones:    
	CRTC:       0
	CRTCs:      0 1 2 3
DeepFlake вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно написать программу. Вырезать изображение с экрана (скрын с экрана, только часть) и вставлять в PowerPoint viktorsu Фриланс 8 25.05.2020 05:02
Коррекции яркости изображения IgoreKMaN PHP 1 16.03.2016 13:43
Дрова яркости на асус Вадим170300 Компьютерное железо 12 27.07.2013 08:30
Уменьшение размера изображения на php уменьшение качества картинки пример class php jpeg gif png xzxz PHP 2 19.11.2012 11:11
bmp увеличение яркости blackbanny Помощь студентам 0 17.06.2010 12:35