News Features Documentation Version Notes Support & Feedback
PEMDAS
Download PEMDAS 1.2   159 KB, .zip

Requires Mac OS X 10.4.3 or higher


PNG goose hunt and Core Code
June 21, 2006

Today was a day mostly spent trying to figure out why the widget looks differently on different computers. I've found out it all has to do with PNG's gamma correction, a feature (more like a headache) in the specification that tries to correct for different gamma on different displays in order to get a consistent image across multiple displays. It does this all internally before the image is even sent to the display, so the actual outputted image contains different colors than originally intended. This is in contrast to pretty much every other image format, where the same color pixels are sent to the each display, and the only reason why it would look different is the color response of the physical displays.

For more info on this, this website explains it a little better than me: http://hsivonen.iki.fi/png-gamma/

It turns out the problem is a little different than I originally had thought. The way I saved the images in the widget looks like it was OK and it will display the same colors on different computers. However, the screenshot of PEMDAS on the website is directly from Preview, and looks like it contains some gamma information, so it is displayed differently... a little darker... on the other Mac I tested.

The bad thing that came from this is that I thought the 'gamma-corrected' version of PEMDAS on my other computer looked bad, and it turns out that it WAS NOT gamma corrected, and was the way it should be. So I'm going to have to change the colors a little bit at some point. So much Gamma drama.

Here's a link to a command line tool to remove the gAMA tag for PNGs: PNGCrush

A command would look like: pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB infile.png outfile.png

I ran into problems compiling the source for PNGCrush in terminal, so I used DarwinPorts to do it for me. You can find the information on how to do it here: http://pngcrush.darwinports.com

To do it with DarwinPorts, you'll need to download the DarwinPorts application, which you can get from http://darwinports.com/. Note: when you go to the download page, type in your e-mail, and if you don't see the download button, just hit Enter on your keyboard.

Another useful program for PNGs, though it doesn't remove the gAMA tag, is PNGCrusher. It's a similar name, but not the same as PNGCrush. You just drag the PNGs on the icon, and it should compress them without removing any data.

Sorry for the boring-ness, but these tools are especially useful if you save PNGs in Preview, like me, and for anyone doing web design.

After all that, I added the blog to the website. I also began rewriting some of the core code, which is in need of some changes to give it some more flexibility, and allow for current things like better syntax checking (and future things I want to add that I'm not going to talk about yet so noone steals them). Hopefully I'll be able to get v0.91 out in the next couple days. A lot more people than I was anticipating have downloaded it, so I want to get the next revision out ASAP to fix some of the bigger bugs.

Comments

There are currently no comments.

Leave a comment:

Name:
E-mail: (will not be displayed)
Homepage:
Comment:

To prevent spam, please enter the characters you see in the image to the left:


Apple Design Award 2007 Runner Up