Size of "Medium" icons
James Richard Tyrer
tyrerj at acm.org
Thu May 10 22:43:03 BST 2007
Boyd Stephen Smith Jr. wrote:
> On Monday 07 May 2007, James Richard Tyrer <tyrerj at acm.org> wrote
> about 'Size of "Medium" icons':
>> When a 128x128 pixel SVG image is
>> rendered to 22x22, it is always going to render poorly while with 24x24
>> boundaries in the image on a 16 pixel grid will be pixel perfect.
> I thought the whole point of SVG what to be resolution independent and
> infinitely scalable. To me the whole idea of a 128x128 pixel SVG image sounds
An SVG image is resolution independent to the extent that the
representation is a vector description. However, that doesn't mean that
it doesn't have a default size. To some extent, the default size is
arbitrary. You could change every dimension in the SVG by multiplying
by a scale factor and have exactly the same image. If you displayed the
scaled image at the same resolution, it would look identical. That
is resolution independence. The design resolution and the display
resolution are independent of each other.
With icons, the default size is usually 128x128 pixels. If you display
the image in a different size, it is not an enlargement or reduction of
a 128x128 pixel image but rather a rasterization of the vector image at
that pixel size it is displayed at. Therefore, this resolution
independence does not mean that SVGs will display well at small sizes.
Specifically when they are reduced to the point that there are more than
two colors in a pixel, they tend to turn into fuzzy colored blobs.
> Ignoring that, using 24x24 instead of 22x22 will reduce the amount of
> artifacts that occur in an image that is designed to rasterize @ 128x128 but
> it won't eliminate them entirely, so some amount of images will have to be
> reworked for smaller sizes anyway, right?
Yes, and no. It is much easier to rework an image originally laid out
as 128x128 pixels (or any square that is a power of 2 pixels [2^N]) as a
24x24 pixel image as it is to rework it as a 22x22 pixel image.
Specifically, content laid out on 8 pixel boundaries in the 128x128 will
exactly correspond to 3 pixel boundaries in the 24x24 image. This is
one of the reasons for my suggestion.
More information about the kde-core-devel