This is a problem I noticed many months ago, but did not seriously look in to until just now.
I like to use the monthly Mozilla Foxkeh desktop wallpaper. Right now, I have the January 2011 wallpaper — this nice, large, lossless PNG. (By the way, the word that he is in the progress of writing is “火狐”, which literally means “fire fox.” How cool!)
Anyway, I noticed that there is crappy compression on the image shown on my desktop, particularly around the numbers that make of the calendar. This has been occurring in the wallpapers for past months as well. If I open up the PNG (that I told Windows to use!!) and zoom way in, the image is crystal clear. But on the desktop, it is junk. Take a look, I zoomed in on the “2011″ at the top-left of the calendar. On the left is the data from the PNG as viewed in any decent graphics application, and on the right is what appears on my desktop.
Now, with perhaps more typical wallpapers like photographs, maybe this wouldn’t be so noticeable. But this is still dumb. If I provide a lossless image, why can’t Windows use it directly, or at least convert it for use in a lossless manner?
I happen to know that in the registry, the path to your current wallpaper is located at HKCU\Control Panel\Desktop\Wallpaper. Taking a look at the value stored there…
That’s right, it is pointing at TranscodedWallpaper.jpg, located in the depths of my user profile. So, Windows took my PNG and converted it to JPEG to be used as my wallpaper. Ugh. Ugh ugh ugh.
Anyway, there’s a couple of ways around the problem. First, you can open the PNG image in Internet Explorer or Firefox or Windows Live Photo Gallery (or perhaps any number of other applications), right-click on it, and select the option to use it as your desktop background. It will be properly set, without the crappy compression occurring. (I normally set it through the control panel you get by right-clicking your desktop and clicking “Personalize.” I confirmed that going back there to set it restores the crappy JPEG compression.)
The other option would be to convert the image to BMP and set the path to it manually in the registry, at the value shown above. Then, log out and log back in to have Windows notice that the wallpaper has changed.
Hopefully this will be addressed in the next major Windows release! (Not addressed in the forthcoming Windows 7 Service Pack 1, sorry.)