Source: magpleasure.com
Before images are shown to the customers in your store, Magento handles them in this place:
Lib/Varien/Image/Adapter/Gd2.php
If image quality is not strictly defined for certain types of images, Magento system takes the original value, and for some it calculates its own. All we need to do is to set the image quality to the highest value. This can be done if you open a file:
app/code/core/Mage/Catalog/Helper/Image.php
Find a method __toString() and just before try clause in the beginning of the method, insert the following snippet of code:
$this->_getModel()->setQuality(99);
The last step you need to do is go to Cache Management section and click "Flush Image Cache" button.
VoilĂ ! If you visit your store catalog, you will be pleasantly surprised how much better the images look now. This solution takes a minimum amount of time but produces impressive results.