Vertikálny font   zodpovězená otázka

VB.NET

Dobrý deň.

Potreboval by som vypisovať text v PictureBoxe vertikálne. Nastavil som:

Dim myfont As New Font("Arial", 8, FontStyle.Regular, GraphicsUnit.Point, 1, True)

Používam v:

picCHART.CreateGraphics.DrawString(intActualValue, myfont, SolidBrush, Xpos, Ypos)

Ale akosi mi to stále vypisuje horizontálne. Myslel som si, že keď nastavím parameter gdiVerticalFont na True, tak mi to bude fungovať, ale mýlim sa. Môžete mi prosím poradiť, ako na to? Vopred ďakujem.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

GDI+ umí transformace. RotateTransform nastaví otočení určitý počet stupňů a TranslateTransform nastavuje posunutí (to je potřeba udělat před rotací, tím nastavujeme bod, kolem kterého se má text otáčet).

Nastavte tedy TranslateTransform na bod, na kterém má text začínat, dále nastavte rotaci a pak vykreslete text.

Nakonec zavoláním ResetTransform transformaci zrušte, aby se další objekty vykreslovaly normálně.

With picCHART.CreateGraphics
   .TranslateTransform(100, 100)
   .RotateTransform(90)
   .DrawString("Vertikální text", Me.Font, Brushes.Black, 0, 0)
   .ResetTransform()
End With

gdiVerticalFont slouží k určení, jestli font je vertikální (některé fonty vertikální jsou), ale tady je to myšleno trochu jinak.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ďakujem za odpoveď.

Funguje to.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback