Msg#: 3899312 posted 6:31 am on Apr 24, 2009 (gmt 0)
I am scaling 15 115 x 115 px image to 100 x 100 xp images and displaying in my home page. And since the images are scaled using HTML and displayed they are getting distorted by around 15% (clarity is missing, few small letters are not visible, etc.) How to fix this?
Msg#: 3899312 posted 9:37 am on Apr 24, 2009 (gmt 0)
The reason why I don't prefer to do is any image from a set of approx 10K can be shown anytime (content of HP changes every 15mins). Yes I may write a program that will create a copy of the 115 version and scale it/save it to /images/100/ directory so that this issue gets sorted out. But again it comes to the question of maintenance.
Cant we solve it from HTML/CSS code itself. 2-5% clarity loss is accepted.
What is happening when the image is resized in the browser is that the pixels are interpolated by the browser. That is, these pixels
.................... (20) are turned into, say, these .......... (10)
So the browser must guess and "skip" pixels in-between. When you resize in a graphics program, actual interpolation algorithms are applied and provide a more accurate interpolation of the pixels. Even this will likely show a degradation in most bitmap formats, but at least it's better to a degree, and you can add a sharpening filter to bring back some quality (although this fails horribly with formats lacking in anti-aliasing, such as .gif or other bitmap formats.)
Since you're restricted to server-side output, you might consider automating a process using imageMagick or the GD library to dynamically resize and output the images. ImageMagick has sharpening capabilities. Both are available to most server-side languages (perl, PHP . . . )