22

Is it possible to invert display colors on Windows like Macs can?

I have nVidia GeForce 6200 graphics card and 17" Samsung SyncMaster display.

6
  • For the non Mac people: Ctrl-Alt-Command-8 inverts the screen. BTW: Nice way to fool people who work with Macs and don't know this. ;-)
    – stesch
    Dec 14, 2008 at 16:11
  • Why would you want to do that?
    – Die in Sente
    Dec 14, 2008 at 20:03
  • 4
    To read websites and PDF documents. White font on black is much easier to read, especially in night. Dec 17, 2008 at 12:42
  • @Die in Sente: Bright text on a dark background can be quite helpful for some folks with bad eyesight.
    – Chris O
    Sep 26, 2010 at 20:31
  • @stesch what is Command-8 ? in your keyboard shortcuts ? I donno of such key... Nov 17, 2011 at 1:31

9 Answers 9

22
+100

PowerStrip didn't work for me, and I couldn't find the advanced options in Nvidia (does it even ever exists with new drivers?) I was so disappointed to find there was no solution except the Magnifier trick, that I developed my own.

It's called NegativeScreen and it's a simple but complete program written in C# (sources open)

You can try it out here.

6
  • Great, it even works with 3D games and video :) However it doesn't handle multiple monitors too well. It works when I launch it from my primary screen (1680x1050 laptop screen), but when I launch it from my secondary screen (1080p), whole screen will be just blank white. I hope this isn't too hard to fix (I didn't look at the sources). I have Win 7 x64 HP, GeForce 9650M GT. Thanks for great app :) Sep 11, 2011 at 11:27
  • 1
    multi-screen should works now :)
    – Melvyn
    Sep 13, 2011 at 21:18
  • 1
    +1 You are my new personal hero. I created an inverted profile with the old drivers on my XP machine which required several mouse actions to switch while my Ubuntu machine at work uses Super + Z. Now my home machine is just as easy! Nov 11, 2011 at 23:41
  • @yaurthek Could you please check out this question superuser.com/questions/555586/…
    – William
    Feb 22, 2013 at 4:24
  • This thing is glorious! Never was a fan of dark coding themes because the experience wasn't uniform across the system - this solves that problem! Mar 8, 2018 at 17:33
12

Windows 7 maginifier glass tool supports color inversion and the magnification is not obligatory.

Note: You must have Aero enabled to invert colors for the whole screen.

3
  • 1
    I came here to point out that magnifier used to suck, but they actually made it a lot better! Now you can do 100% magnification across all screens and select color inversion without any annoying side effects. I remember prior to windows 7 this was not a feasible solution, but now it is perfect.
    – unsorted
    Oct 22, 2011 at 19:30
  • 1
    Note that you must have Aero in windows 7 enabled to use magnifier to invert your desktop. Otherwise, it will just invert what it is magnifying.
    – eichoa3I
    Feb 24, 2012 at 21:19
  • This should be the answer, nice and windows native.
    – MetaGuru
    Aug 28, 2014 at 11:23
2

The following won't work for everyone, but if you have XP and an NVIDIA graphics card then there is a proper color inversion that is equivalent to the Mac. I use this successfully with my work computer.

If you don't have an NVIDIA card, then as others have said you can use the Accessibility High Contrast features to approximate inverted colors and the magnifier glass gives some functionality on XP, but I found this unsatisfying (and I have to use XP for work). Instructions are in other answers and in the wikihow article that I adapted the NVIDIA instructions from

Go to NVIDIA control panel - I can do this by right clicking on the icon in my tray and selecting "NVIDIA Control Panel", but you can also: Right-click on your screen and choose Properties.

  1. Under Setting tab click on Advanced.
  2. From the upper row of tabs select the one related to you graphic adapter (with on image icon).
  3. Click Start the NVIDIA Control panel. (You need to have these NVIDIA utilities installed.)

Now you can invert colors - note that this is on a display-by-display basis. Also, there is a note that this is only inverting the basic display and that video will not be affected (unless inverted separately) - I have not explored this.

  1. I recommend saving your profile before you start (and after you finish) so that you can more easily switch back and forth. At the top of the window select Profiles → Save... and save your regular color profile. I use names that identify normal or inverted and the display configuration (laptop, external home, external work) - if you only have one configuration this is not required.
  2. Inside NVIDIA control panel, from the left side navigation bar, under Display select Adjust desktop color setting. Note: you need to view the Adjust desktop color setting item in the Advanced Settings. In the standard settings, you will not see the graph option below.
  3. Under 2. Apply the following .... switch to graph tab.
  4. There are three points already forming the graph, select the one on the upper right side of the graph and set the values In to 1, and Out to 0. (On my machine, I am not able to set the values and I have to do this by dragging the top right point to the bottom right. This is very frustrating, but if you play around with it you can get these reversed. Try not to set both Out values to the same number (1 or 0) or it is very difficult to see the points you need to drag on the graph - I drag the point to the middle right and then finish after dragging lower left to top left.)
  5. Then Select the point on the lower left of the graph and set the values In to 0, and Out to 1. (Again, I have to drag the point with the mouse on my machine from lower left to top left.)
  6. Apply the settings and you have successfully inverted your colors.
  7. Finally, you will want to save this profile. Again, go to the Profiles menu and select Save...

Now you should be able to use Profiles → Load... to switch back and forth. I have to re-open this control panel to invert my colors, but I plan to set this to some shortcut, once I figure out how...

The following screen shot shows that Adjust desktop color setting does not have the graph option under standard options:

NVIDIA Control Panel with Standard options

The following screen shot shows that Adjust desktop color setting does have the graph option under advanced options (it is the second - not the default - tab under 2. Apply the following...:

NVIDIA Control Panel with Advanced options

The graph after inverting the colors:

NVIDIA Control Panel with Advanced options - colors inverted

1
  • Great answer! Unfortunately my GeForce Go 6200 does not show a Graph tab :( Maybe it's because I'm using such an old card (think: year 2006!). (Yes, I have switched to Advanced Settings.) Thankfully I'm on Windows 7, and Magnifier rocks!
    – ADTC
    Mar 4, 2012 at 1:30
1

You can sort that out programming a pixel shader or fragment program (OpenGL) to invert all the screen pixels synched with the refresh rate. I believe this can be done fast enough in the GPU to be executed in your gfx card model, altough I must recognize i'm ignorant about the pixel fillrate of the Turbocache variants.

1

If you don't have Windows 7, you can use a shareware app called PowerStrip, that will achieve the color inversion with hotkey support. I've used this extensively on XP. This app interacts with the video driver.

If you want to write your own app in user-mode code, then you have two options:

  1. Use DirectX overlays, capture the entire screen, invert blit to the overlay, repeat fast enough to look alright.
  2. Use some GDI tricks, create a dead window that is on top of everything else, capture the screen, invert blit to the dead window. The dead window has 99% opacity, so to capture the windows underneath it, don't use the CAPTUREBLT flag with BitBlt(). In order to allow the mouse events to get through to the real window, use SetWindowRgn to put a 1-pixel "hole" in the dead window where the mouse is. Uh, this is quite hacky but works.

You can also download the debug symbols for the Window's magnifiers, and study those ;-)

0

Go to the appearance settings (in vista this is through personalization > color and appearance > classic properties)

You can then customize your settings or pick one of the high contrast schemes.

1
  • This inverts only system colors, not web pages, PDFs etc. Or it behaves diferently in Vista (I have XP) Dec 14, 2008 at 14:21
0

You can use:

  • Notepad++ with VibrantInk theme
  • Stylish Firefox addon with "NishtShift - eye care" style
  • VibrantInk theme on Eclipse or another with black background
  • On PDF-XChange Viewer you can do it at 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;
    

All these are solutions for a particular program, but with an inverter it can be done for any program.

0

This would be a pretty easy application to write. In fact, it would take more time hooking it up to a keyboard combo or some other hook than anything else. The best way I guess would be to make an application that just inverts the colors, and then add it as a shortcut, with a hot-key combo. Like Ctrl+Alt+I to Invert the colors, and again to switch them back.

If you need help with this let me know. This should only end up as an hour or less C++ application.

4
  • Sounds great, but I have no idea how to do this in C++. Through some driver manipulation? Jan 8, 2009 at 19:38
  • Naa.. This can be done with the Win32 API. But, in reading some of your comments, it got me thinking... If you are displaying an image, or a PDF file, you are kind of at the mercy of the app doing the rendering... I would whip something up for you to try, at least.
    – LarryF
    Jan 8, 2009 at 20:32
  • Exactly how would you achieve this application? I'll give a hint, it won't take an hour for this C++ application ;-) The user will want to interact with the screen while the colors are inverted, just like on the Mac.
    – Chris O
    Sep 26, 2010 at 20:30
  • @Chris O - Well, if you want to invert the entire screen, and make it usable, you'd probably have to write a video filter driver, which, yea, wouldn't take an hour... If you want an app to invert the colors on a display image, that shouldn't bee all THAT hard. But, being that this is all just talk, I have to admit, I have NOT done due diligance on this, so there could be some stuff I'm not considering... Not to mention I wrote this over a year ago, when I was probably working in an imaging project, so it was all fresh in my 'Chip Ram', now, it's not even in my 'Fast Ram' :)... - Larry
    – LarryF
    Oct 4, 2010 at 20:14
0

In Windows 10 it's even easier. Since build 16215 onward Microsoft included the color filter options for ease of access which can be toggled by Windows+Ctrl+C

Windows 10 now includes color filters at the system level, including filters designed to make it easier for people with color blindness to differentiate between colors like red and green and to make it easier for people with light sensitivity to create and consume content. You can find these new filtering options under Settings > Ease of Access > Color and High Contrast (previously called High Contrast Settings).

Introducing Color filters

color filter settings

In some cases for older Windows maybe the shortcut Left-Alt+Left-Shift+PrntScrn to turn high contrast mode ON will help

Related:

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .