Инвертировать цвета дисплея


22

Можно ли инвертировать цвета экрана в Windows, как это делают Mac?

У меня есть видеокарта nVidia GeForce 6200 и 17-дюймовый дисплей Samsung SyncMaster.


Для людей не Mac: Ctrl-Alt-Command-8 инвертирует экран. Кстати, хороший способ обмануть людей, которые работают с Mac и не знают этого. ;-)
stesch

Почему вы хотите сделать это?

3
Читать сайты и PDF документы. Белый шрифт на черном намного легче читать, особенно ночью.
Матей Забский

@Die in Sente: яркий текст на темном фоне может быть очень полезен для людей с плохим зрением.
Крис О

@stesch, что такое Command-8? в ваших сочетаниях клавиш? Я не знаю такого ключа ...
Флавий Франц

Ответы:


22

PowerStrip у меня не сработал, и я не смог найти дополнительные опции в Nvidia (он вообще существует с новыми драйверами?) Я был так разочарован, обнаружив, что не было никакого решения, кроме трюка с лупой, что я разработал свой собственный ,

Он называется NegativeScreen, и это простая, но полная программа, написанная на C # (источники открыты)

Вы можете попробовать это здесь .


Отлично, он работает даже с 3D-играми и видео :) Однако он не слишком хорошо справляется с несколькими мониторами. Он работает, когда я запускаю его со своего основного экрана (экран ноутбука 1680x1050), но когда я запускаю его со своего дополнительного экрана (1080p), весь экран будет просто пустым белым. Надеюсь, это не так сложно исправить (я не смотрел на источники). У меня Win 7 x64 HP, GeForce 9650M GT. Спасибо за отличное приложение :)
Matěj Zábský

1
мультиэкран теперь должен работать :)
Melvyn

1
+1 Ты мой новый личный герой. Я создал перевернутый профиль со старыми драйверами на моем компьютере с XP, для переключения которого требовалось несколько действий мыши, в то время как мой компьютер с Ubuntu на работе использует Super + Z. Теперь мой домашний компьютер так же прост!
Дэвид Харкнесс

@yaurthek Не могли бы вы проверить этот вопрос superuser.com/questions/555586/…
Уильям

Эта вещь великолепна! Никогда не был поклонником темных тем кодирования, потому что опыт не был одинаковым во всей системе - это решает эту проблему!
Даниэль Соколовский

12

Windows 7 maginifier glass tool поддерживает инверсию цвета и увеличение не является обязательным.

Примечание. У вас должна быть включена функция Aero, чтобы инвертировать цвета для всего экрана.


1
Я пришел сюда, чтобы показать, что лупа сосала, но на самом деле они сделали это намного лучше! Теперь вы можете сделать 100% увеличение на всех экранах и выбрать инверсию цвета без каких-либо раздражающих побочных эффектов. Я помню, до Windows 7 это не было возможным решением, но теперь оно идеально.
несортированный

1
Обратите внимание, что вы должны включить Aero в Windows 7, чтобы использовать увеличитель для инвертирования вашего рабочего стола. В противном случае он просто инвертирует то, что увеличивает.
eichoa3I

Это должен быть ответ, хороший и Windows родной.
MetaGuru

2

Следующее не будет работать для всех, но если у вас есть XP и видеокарта NVIDIA, то существует правильная инверсия цвета, эквивалентная Mac. Я успешно использую это с моим рабочим компьютером.

Если у вас нет карты NVIDIA, то, как говорили другие, вы можете использовать функции высокой контрастности, чтобы приблизить инвертированные цвета, а лупа дает некоторые функциональные возможности в XP, но я нашел это неудовлетворительным (и я должен использовать XP для Работа). Инструкции есть в других ответах и ​​в статье вики-шоу, в которой я адаптировал инструкции NVIDIA от

Перейдите на панель управления NVIDIA - я могу сделать это, щелкнув правой кнопкой мыши по значку на панели задач и выбрав «Панель управления NVIDIA», но вы также можете: Щелкните правой кнопкой мыши на экране и выберите « Свойства» .

  1. На вкладке « Настройки » нажмите « Дополнительно» .
  2. В верхнем ряду вкладок выберите ту, которая относится к вашему графическому адаптеру (со значком на изображении).
  3. Нажмите Пуск Панель управления NVIDIA . (Вам необходимо установить эти утилиты NVIDIA.)

Теперь вы можете инвертировать цвета - обратите внимание, что это для каждого дисплея отдельно. Кроме того, есть примечание, что это только инвертирование основного дисплея и что видео не будет затронуто (если не инвертировано отдельно) - я не исследовал это.

  1. Я рекомендую сохранить свой профиль перед началом (и после окончания), чтобы вам было удобнее переключаться между ними. В верхней части окна выберите «Профили» → «Сохранить» и сохраните свой обычный цветовой профиль. Я использую имена, которые идентифицируют нормальную или инвертированную и конфигурацию дисплея (ноутбук, внешний дом, внешняя работа) - если у вас есть только одна конфигурация, это не требуется.
  2. На панели управления NVIDIA, с левой боковой панели навигации, в разделе « Дисплей» выберите « Настроить цвет рабочего стола» . Примечание. Вам необходимо просмотреть пункт « Настройка цвета рабочего стола» в разделе « Дополнительные настройки» . В стандартных настройках вы не увидите опцию графика ниже.
  3. В разделе 2. Применить следующее .... перейти на вкладку графика.
  4. Есть три точки, которые уже формируют график, выберите одну в верхней правой части графика и установите значения In на 1, а Out на 0. (На моей машине я не могу установить значения, и мне нужно Сделайте это, перетаскивая верхнюю правую точку в нижнюю правую. Это очень неприятно, но если вы поиграете с этим, вы можете изменить их. Попробуйте не устанавливать оба значения Out на одно и то же число (1 или 0), или это очень трудно увидеть точки, которые нужно перетащить на график - я перетаскиваю точку в середину вправо, а затем заканчиваю после перетаскивания из левого нижнего угла в верхний левый.)
  5. Затем выберите точку в левом нижнем углу графика и установите значения In на 0, а Out на 1. (Опять же, мне нужно перетащить эту точку с помощью мыши на моей машине из нижнего левого угла в верхний левый.)
  6. Примените настройки, и вы успешно инвертировали свои цвета.
  7. Наконец, вы хотите сохранить этот профиль. Снова зайдите в меню Профили и выберите Сохранить ...

Теперь вы сможете использовать Профили → Загрузить ... для переключения назад и вперед. Я должен снова открыть эту панель управления, чтобы инвертировать мои цвета, но я планирую установить для этого ярлык, как только я выясню, как ...

На следующем снимке экрана показано, что параметр « Настроить цвет рабочего стола» не имеет параметра графика при стандартных параметрах:

Панель управления NVIDIA со стандартными опциями

На следующем снимке экрана показано, что параметр « Настроить цвет рабочего стола» имеет параметр «График» в разделе «Дополнительные параметры» (это вторая вкладка (не по умолчанию) в разделе 2. Примените следующее ... :

Панель управления NVIDIA с расширенными настройками

График после инвертирования цветов:

Панель управления NVIDIA с расширенными настройками - инвертированные цвета


Отличный ответ! К сожалению, моя GeForce Go 6200 не отображает вкладку « График » :( Возможно, это из-за того, что я использую такую ​​старую карту (думаю: 2006 год!). (Да, я переключился на Расширенные настройки.) К счастью, я на Windows 7 и лупа качается!
ADTC

1

Вы можете сортировать это, программируя пиксельный шейдер или фрагментную программу (OpenGL), чтобы инвертировать все пиксели экрана, синхронизированные с частотой обновления. Я полагаю, что это может быть сделано достаточно быстро в GPU, чтобы быть выполненным в вашей модели GFX-карты, хотя я должен признать, что я не осведомлен о пиксельной скорости заполнения вариантов Turbocache.


1

Если у вас нет Windows 7, вы можете использовать условно-бесплатное приложение под названием PowerStrip , которое обеспечит инверсию цвета с поддержкой горячих клавиш. Я широко использовал это на XP. Это приложение взаимодействует с драйвером видео.

Если вы хотите написать собственное приложение в коде пользовательского режима, то у вас есть два варианта:

  1. Используйте оверлеи DirectX, снимайте весь экран, переворачивайте блики на оверлей, повторяйте достаточно быстро, чтобы выглядеть хорошо.
  2. Используйте некоторые трюки GDI, создайте мертвое окно поверх всего остального, захватывайте экран, инвертируйте блики в мертвое окно. Мертвое окно имеет непрозрачность 99%, поэтому, чтобы захватить окна под ним, не используйте флаг CAPTUREBLT с BitBlt (). Чтобы позволить событиям мыши проходить к реальному окну, используйте SetWindowRgn, чтобы поместить 1-пиксельную «дыру» в мертвом окне, где находится мышь. Это довольно глупо, но работает.

Вы также можете скачать символы отладки для лупы Window и изучить их ;-)


0

Зайдите в настройки внешнего вида (в Vista это через персонализацию> цвет и внешний вид> классические свойства)

Затем вы можете настроить параметры или выбрать одну из высококонтрастных схем.


Это инвертирует только системные цвета, а не веб-страницы, PDF-файлы и т. Д. Или в Vista она ведет себя иначе (у меня XP)
Matěj Zábský

0

Вы можете использовать:

  • Блокнот ++ с темой VibrantInk
  • Стильный аддон Firefox в стиле «NishtShift - уход за глазами»
  • Тема VibrantInk на Eclipse или другой с черным фоном
  • В PDF-XChange Viewer вы можете сделать это в Edit / Prefs:

       [v] Override document colors; 
       Use Custom Color Scheme:
          page background: black; 
          [v] text color: white(gray); 
          [v] Line Art: fill Color: black; Stroke color: black;
    

Все это решения для конкретной программы, но с инвертором это можно сделать для любой программы.


0

В Windows 10 это даже проще. Начиная с версии 16215, Microsoft включила параметры цветового фильтра для простоты доступа, которые можно переключать с помощью Windows+ Ctrl+C

В Windows 10 теперь включены цветовые фильтры на системном уровне, в том числе фильтры, облегчающие людям с дальтонизмом различать цвета, такие как красный и зеленый, и людям с чувствительностью к свету создавать и потреблять контент. Эти новые параметры фильтрации можно найти в разделе « Настройки»> «Удобство доступа»> «Цвет и высокая контрастность» (ранее назывались «Настройки высокой контрастности»).

https://blogs.windows.com/windowsexperience/2017/06/08/announcing-windows-10-insider-preview-build-16215-pc-build-15222-mobile/#C1B2TQQ8YvwdEsjV.97 настройки цветового фильтра

В некоторых случаях для старых Windows, возможно , поможет сочетание клавиш Left-Alt+ Left-Shift+ PrntScrn для режима высокой контрастности.

Связанный:


0

Это было бы довольно легко написать приложение. На самом деле, это займет больше времени, чтобы подключить его к комбинации клавиш или какой-либо другой функции, чем что-либо еще. Я думаю, что лучшим способом было бы создать приложение, которое просто инвертирует цвета, а затем добавить его в виде ярлыка с помощью сочетания клавиш. Как Ctrl+ Alt+ , Iчтобы я nvert цвета, и снова включить их обратно.

Если вам нужна помощь с этим, дайте мне знать. Это должно закончиться только как час или меньше приложения C ++.


Звучит отлично, но я понятия не имею, как это сделать в C ++. Через некоторые манипуляции с драйверами?
Матей Забский

Наа .. Это можно сделать с помощью Win32 API. Но, читая некоторые из ваших комментариев, это заставило меня задуматься ... Если вы отображаете изображение или PDF-файл, вы как бы зависели от приложения, выполняющего рендеринг ... ты попробуй, хотя бы.

Точно, как бы вы достигли этого приложения? Я дам подсказку, это не займет час для этого приложения C ++ ;-) Пользователь захочет взаимодействовать с экраном, пока цвета инвертированы, как на Mac.
Крис О

@Chris O - Ну, если вы хотите инвертировать весь экран и сделать его пригодным для использования, вам, вероятно, придется написать драйвер видеофильтра, который, да, не займет час ... Если вы хотите приложение инвертировать цвета на отображаемом изображении, это не должно быть так уж сложно. Но, учитывая, что это все просто разговоры, я должен признать, что я НЕ сделал должной осмотрительности в этом, так что могут быть некоторые вещи, которые я не рассматриваю ... Не говоря уже о том, что я написал это более года назад, когда Я, вероятно, работал над проектом по созданию изображений, так что все это было свежо в моем «Чип Раме», теперь даже в моем «
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.