Home All Groups Group Topic Archive Search About

Drawing vertical string

Author
23 Jun 2006 2:25 AM
Adriano
Hello,

the following code draws 'top to bottom' vertical text,
any ideas how to draw 'bottom to top' one?
g.DrawString("This is a test vertical string", New Font("Tahoma", 8,
FontStyle.Regular), New SolidBrush(Color.Gray), 100, 10, New
StringFormat(StringFormatFlags.DirectionVertical))

I would gratefully appreciate any help

thanks,
Adriano

Author
23 Jun 2006 4:17 AM
Ahmed
Hi Adriano,

I don't know if there is one. But you can call StrReverse(yourString).

Ahmed

Adriano wrote:
Show quoteHide quote
> Hello,
>
> the following code draws 'top to bottom' vertical text,
> any ideas how to draw 'bottom to top' one?
> g.DrawString("This is a test vertical string", New Font("Tahoma", 8,
> FontStyle.Regular), New SolidBrush(Color.Gray), 100, 10, New
> StringFormat(StringFormatFlags.DirectionVertical))
>
> I would gratefully appreciate any help
>
> thanks,
> Adriano
Author
23 Jun 2006 8:21 AM
Adriano
hello Ahmet,

thanks for your reply, that's just reverses the sentence,
what I actually need is to turn the word 180 degrees,
any other ideas?

regards,
Adriano

Show quoteHide quote
"Ahmed" <ahmed1***@gmail.com> wrote in message
news:1151036271.493643.211770@r2g2000cwb.googlegroups.com...
> Hi Adriano,
>
> I don't know if there is one. But you can call StrReverse(yourString).
>
> Ahmed
>
> Adriano wrote:
>> Hello,
>>
>> the following code draws 'top to bottom' vertical text,
>> any ideas how to draw 'bottom to top' one?
>> g.DrawString("This is a test vertical string", New Font("Tahoma", 8,
>> FontStyle.Regular), New SolidBrush(Color.Gray), 100, 10, New
>> StringFormat(StringFormatFlags.DirectionVertical))
>>
>> I would gratefully appreciate any help
>>
>> thanks,
>> Adriano
>
Author
23 Jun 2006 12:29 PM
Jay B. Harlow [MVP - Outlook]
Adriano,
You should be able to use a rotation to have it draw "bottom to top"

Something like (VB 2005 syntax):

        Using font As System.Drawing.Font = New Font("Tahoma", 8,
FontStyle.Regular)
            Using brush As System.Drawing.SolidBrush = New
SolidBrush(Color.Gray)
                Using format As System.Drawing.StringFormat = New
StringFormat(StringFormatFlags.DirectionVertical)
                    Dim location As System.Drawing.Point = New
Point(ClientSize.Width \ 2, ClientSize.Height \ 2)
                    Dim transform As System.Drawing.Drawing2D.Matrix =
e.Graphics.Transform
                    transform.RotateAt(180, location)
                    e.Graphics.Transform = transform
                    e.Graphics.DrawString("This is a test vertical string",
font, brush, location, format)
                End Using
            End Using
        End Using

The quirk is getting the location right. At the rotation causes the
coordinates to be "turned upside down"...

--
Hope this helps
Jay B. Harlow [MVP - Outlook]
..NET Application Architect, Enthusiast, & Evangelist
T.S. Bradley - http://www.tsbradley.net


Show quoteHide quote
"Adriano" <adri***@mail.it> wrote in message
news:Oq21swmlGHA.1640@TK2MSFTNGP02.phx.gbl...
| Hello,
|
| the following code draws 'top to bottom' vertical text,
| any ideas how to draw 'bottom to top' one?
| g.DrawString("This is a test vertical string", New Font("Tahoma", 8,
| FontStyle.Regular), New SolidBrush(Color.Gray), 100, 10, New
| StringFormat(StringFormatFlags.DirectionVertical))
|
| I would gratefully appreciate any help
|
| thanks,
| Adriano
|
|