Welcome to WebmasterWorld Guest from 54.147.220.66

Forum Moderators: not2easy

Message Too Old, No Replies

Scaling an image

How to restore quality?

   
6:31 am on Apr 24, 2009 (gmt 0)

5+ Year Member



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?

Kindly suggest if there is a way out.

7:06 am on Apr 24, 2009 (gmt 0)

WebmasterWorld Senior Member tangor is a WebmasterWorld Top Contributor of All Time 5+ Year Member Top Contributors Of The Month



With such a small difference in size, why not physically resize to 100x100? Any number of graphics programs should do a much better job than the on-the-fly scale provided by browsers.
9:37 am on Apr 24, 2009 (gmt 0)

5+ Year Member



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.

10:55 am on Apr 24, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



You can either resize your images to the correct size, or scale them in browsers using HTML/CSS with sub-optimal results. Alternatively, redesign your homepage to use 115px images... ;) HTH.
2:19 pm on Apr 24, 2009 (gmt 0)

WebmasterWorld Senior Member rocknbil is a WebmasterWorld Top Contributor of All Time 10+ Year Member



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 . . . )

5:02 am on Apr 25, 2009 (gmt 0)

5+ Year Member



Does anyone use:


<style type=text/css>
img {-ms-interpolation-mode:bicubic;}
</style>
12:31 pm on Apr 25, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



If you have 10k of images use something like irfanview to batch resize them.

If you want to do it automagically server side look into using GD .

[us.php.net...]