There are ways to do it but it's tricky. Here's an example on my blog :

http://www.sebleedelisle.com/?p=18

You need to convert the text to a bitmap first, then you can do
perspective distortions using the triangles method described here :
http://www.sebleedelisle.com/?page_id=7

We wrote our own code for it but if you want to save time, you can use
Sandy's excellent DistordImage class. :-)

http://sandy.media-box.net/blog/distordimage-the-way-to-distord-bitmaps-by-code.html

hope this helps!

Seb


On 24/10/06, slangeberg <[EMAIL PROTECTED]> wrote:
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

_______________________________________________
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