Drawing vertical string

  • Thread starter Thread starter Adriano
  • Start date Start date
A

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
 
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
 
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


| 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
|
|
 
Back
Top