ubuntustudio icons

Emmet Hikory persia at ubuntu.com
Wed Jul 25 17:45:01 UTC 2012


Ralf Mardorf wrote:
> On Thu, 2012-07-26 at 00:00 +0900, Emmet Hikory wrote:
> > `convert foo.png foo.svg`
> 
> This is possible? For me it's important, since drawing an icon on a
> paper and than scanning it, is less work.

    Yes, but doing it this way avoids all benefits associated with the
vector format.  Some of the algorithms available have simple shape
matching features, but in all likelihood every artifact, pixellation,
dither effect, etc. is going to be assigned its own vector, so that the
result is less scalable than the original file.

    The point of retracing the work is so that one has the original
natural shapes stored as vectors, independent of the rendering: this
allows the shape to be rendered at arbitrary scale and look reasonable.
Automatic conversion may initially appear to be less work, but it likely
generates a requirement to retouch all the scaled images, which tends to
grow to be more work over time.

> > >  * a single .png file can create multiple .png files during installation
> > > (greatly reducing size requirements)
> > (blurred edges on lines are the most obvious of the possible effects).
> 
> Regarding to the quality, if the original png/jpg is around 900x900 and
> you use cubic to scale and for the png/jpg best quality, such effects
> are reduced to a minimum, less noticeable.

    Sure, and if you choose a target resolution that is an absolute power
of 2 of the starting resolution and only work in reduction, most of the
lines even look crisp.  With vector representation, one can scale indefintely
with zero loss due to scaling: one only sees irregularities when either the
target format cannot support the number of elements (e.g. drawing a chess
set with grooves between squares at 16x16), or there are limitations of the
creation medium (e.g. scaling a drawing done at 45x60 cm to A0).

    To put it differently, a vector representation (such as SVG) attempts
to capture the individual strokes, and then renders them to any target,
either specific targets (using imagemagick or another tool), or arbitrary
targets (such as a 5x5 cm screen region).  As such, when generating bitmaps
from vector represenations, sufficient information is available to ensure
that the artist's intent is preserved regarding hard or soft edges, smooth
or jagged curves, etc.  A bitmap representation only stores the result of
the drawing for a specific size and colour depth, so when scaling, one must
estimate the intent of the artist, and compromise accurate represenation of
the relative size of elements against the quality of the appearance of the
elements.

    To see the effect of this yourself, take a look through the icons already
installed on your computer: try scaling them to various sizes (including
upscaling to e.g. 800x800 or so).  I suspect you'll find that vector files
(from SVG) survive better than bitmaps.

-- 
Emmet HIKORY



More information about the Ubuntu-Studio-devel mailing list