Not in (solely) flash, as far as I know or have ever seen.

We created a Java class that takes the parameters (font, text, style) and
performs the distortions on actual letter outlines, using Font objects. This
was set up as a webservice (coldfusion instantiates java object) that
returns coordinates for flash to draw out, at runtime.

Here's a section of that code, to give an idea (sorry, closed-source!):

private java.awt.Shape transform( int layout, String text, String font )
{
       j_Font = new java.awt.Font(font, java.awt.Font.PLAIN, FONT_SIZE);

       // FontRenderContext needed to create a GlyphVector object
       FontRenderContext frc = new FontRenderContext(null,true,true);

       // Create a GlyphVector object to get an outline of the text string
       GlyphVector gv = j_Font.createGlyphVector(frc, text);

           int length = gv.getNumGlyphs(); //Get the number of characters
           for(int i = 0; i < length; i++) {
               java.awt.Shape glyph = gv.getGlyphOutline(i); //Transform
single glyph to Shape

               double glyphWidth = glyph.getBounds().getWidth(); //Get
single glyph width prior to rotation
               theta = (accGlyphWidth/gvWidth) * totalRotationDistance;
//Set rotation by points
               accGlyphWidth = accGlyphWidth + glyphWidth; //Add up
distance traveled thus far

               Point2D p = gv.getGlyphPosition(i);

               AffineTransform at = new AffineTransform();
               at.translate(-p.getX(), -p.getY());
              .
              .
             .
           }
 .
.
.

}

As you can see, most of the transformations were accomplised using
AffineTransform to the glyphs stored in 'gv'.

Hope that gives you an idea of how this was done..!

Scott

On 10/23/06, Marc Hoffman <[EMAIL PROTECTED]> wrote:

I need to dynamically distort user input text to fill a limited set
of shapes. For example, the user might type in "WINNERS" and select a
shape like the Arc d' Triomphe (flat-topped arch), and the tops of
all the letters would be flat but the bottoms would be curved. This
is more than just putting text on a curve -- it requires actually
distorting the individual letters. Nike has something similar to this
(but not exactly) on their custom uniform builder. See
http://www.niketeam.com/v2/new/Builders/Baseball/check_flash5.asp and
move through the steps until you reach the "Select Name Style," after
which you'll see the effect I'm after. Somehow they are able to skew
the letters, though they're not actually distorting any straight
lines into a curve, and all the letters keep the same height.

Anyone know of something like this? Especially Flash 7-compliant?

Thanks.

Marc Hoffman


_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com




--

: : ) Scott
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to