Shrinking icons

R

Roedy Green

I spend a fair bit of time manually shrinking icons then trying to
touch them up to look decent.

I figure this process aught to be automatable.

1. when shrinking it does antialiasing.

2. when shrinking it does antialiasing with background transparency
(png).

3. maybe if it were really clever it could try to extract regions of
the icon logically, then blow the icon up and smooth the regions and
sharpen the edge using spline curves, then start from that point to
shrink down again, rather than trying to match the precise pixel grid
of the original.

the idea might be you create icons on a large scale, perhaps starting
with photos, and let the software deal with much of the work of
dealing with low res pixelation, much the way PostScript fonts are
rendered.

has anyone tackled a project like this?
 
L

Luc The Perverse

Roedy Green said:
I spend a fair bit of time manually shrinking icons then trying to
touch them up to look decent.

I figure this process aught to be automatable.

1. when shrinking it does antialiasing.

2. when shrinking it does antialiasing with background transparency
(png).

3. maybe if it were really clever it could try to extract regions of
the icon logically, then blow the icon up and smooth the regions and
sharpen the edge using spline curves, then start from that point to
shrink down again, rather than trying to match the precise pixel grid
of the original.

the idea might be you create icons on a large scale, perhaps starting
with photos, and let the software deal with much of the work of
dealing with low res pixelation, much the way PostScript fonts are
rendered.

has anyone tackled a project like this?

I had annoying problems with background transparency colors, when I was
trying to make a spinning object. The stupid paint program antialiased the
background color leaving a horrible tracer around the spinning object.

I looked for something [free] that would mind a transparency and found
nothing.
 
C

Chris Uppal

Roedy said:
3. maybe if it were really clever it could try to extract regions of
the icon logically, then blow the icon up and smooth the regions and
sharpen the edge using spline curves, then start from that point to
shrink down again, rather than trying to match the precise pixel grid
of the original.

Not quite the same, but I have experimented a little with using
PostScript to define icons' content.

I haven't really got it to "production" quality yet, but I use Aladdin
Ghostscript to render the images at different depths and resolutions
(anti-aliased for both text and graphics) and then assemble the results
into a Windows .ICO file. That's all done programmatically. I don't
have a solution for transparency, though, since Ghostscript doesn't
(yet?) understand alpha-blending.

-- chris
 
T

Thomas Weidenfeller

Roedy said:
the idea might be you create icons on a large scale, perhaps starting
with photos, and let the software deal with much of the work of
dealing with low res pixelation, much the way PostScript fonts are
rendered.

PostScript fonts are vector data, that is something completely different
than pixels. Also, good fonts have so called hints (data in the font
file), which is additional information for the font-rendering in a
particular size. Which means, their resizing is not done fully automatic
from just the vector data. Instead at one point the font designer sat
down and optimized the font resizing for particular sizes by providing
the hinting.
has anyone tackled a project like this?

It's a long time ago that I looked into something like this. Shrinking a
raster image is actually a re-sampling of the image data, which involves
our good old friend, the Nyquist-Shannon sampling theorem. So the
classic way to calculate a smaller image (consisting of fewer samples
than the original), is to run a digital filter to get things
mathematically right. However, getting things mathematically right does
not guarantee that things look nice.

Any book about image processing should contain a bunch of typical
filters which you might want to try.

/Thomas
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

comp.lang.java.gui FAQ 0
comp.lang.java.gui FAQ 0

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top