[.net] GDI+ tekst diagonaal

Pagina: 1
Acties:

  • foske
  • Registratie: Juli 2001
  • Laatst online: 08:42
Voor een overzicht tabel is het nodig dat ik de tekst diagonaal moet neerzetten, ik wil dit doen via een plaatje in ASP.net (vb) maar het is me tot nu toe nog niet gelukt de juiste methode hiervoor te vinden.

Het is me al wel gelukt om de tekst verticaal te krijgen

code:
1
2
3
4
5
Dim drawFormat As New System.Drawing.StringFormat()
drawFormat.FormatFlags = StringFormatFlags.DirectionVertical

Dim objFont As New Font( "Arial", 16 )
objGraphics.DrawString( "tja", objFont, Brushes.White, 20, 20, drawFormat)



Maar ik zou willen dat de tekst dus iets naar links 'helt'. Het lijkt me toch dat je tekst scheef op het scherm moet kunnen toveren, maar ik heb bij drawformat nog niet een methode kunnen vinden.

Iemand ideeen?

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Gewoon zelf met een simple alchoritme diagonaal tekenen?

  • staefke
  • Registratie: December 2003
  • Laatst online: 19-05 22:28
misschien eens zoeken met Google ? ;(

met de zoektermen "draw rotated text gdi+" en de 1e link...

duh ?


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

staefke schreef op 07 juni 2004 @ 13:22:
misschien eens zoeken met Google ? ;(

met de zoektermen "draw rotated text gdi+" en de 1e link...
In dit voorbeeld worden het graphics object gedraait. Alles wat je dan tekend zal diagonaal staan.
Ik vind het persoonlijk vervelend, maar het is ook een mogelijkheid.

voor Fossie:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Size sz = MyWindow.Size;
Point Middle = new Point (sz.Width / 2, 
   sz.Height / 2);
e.Graphics.TranslateTransform 
   (Middle.X, Middle.Y);
Rotate the text simply by applying another transform:

e.Graphics.RotateTransform (_angle);

//Once the transforms are in place, just draw your text:
StringFormat format = new StringFormat 
   (StringFormatFlags.NoClip);
format.Alignment = 
   StringAlignment.Center;
format.LineAlignment = 
   StringAlignment.Center;
e.Graphics.DrawString 
   ("A simple TextString ", f, 
   Brushes.Black, 0, 0, format);

  • staefke
  • Registratie: December 2003
  • Laatst online: 19-05 22:28
ehrm.. volgens mij kun je daarna gewoon terug transformeren en verder tekenen...

duh ?