Kirjautuminen

Haku

Tehtävät

Koodit: VB.NET: Antialiasointi formille piirrettäessä

Kirjoittaja: tnb

Kirjoitettu: 07.10.2004 – 07.10.2004

Tagit: grafiikka, koodi näytille, vinkki

Piirettäessä grafiikkaa esim Formille tulos on usein kelvoton, ympyrät, kaaret ja vinoviiivat ovat sahalaitaisia. Pienellä vaivalla saa sahalaidat katoamaan: Graphics.SmoothingMode:een voi sijoittaa useita arvoja, mm. AntiAlias

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
    Dim kynä As New Pen(Color.Black, 3)
    Dim fontti As New Font("Arial", 12, FontStyle.Italic)
    '
    'epätarkka ja tarkka piirto
    e.Graphics.DrawEllipse(kynä, 100, 20, 100, 200)
    e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
    e.Graphics.DrawEllipse(kynä, 50, 20, 180, 200)

    'epätarkka ja tarkka kirjoitus
    e.Graphics.DrawString("Hello there", fontti, Brushes.Black, 200, 200)
    e.Graphics.TextRenderingHint = Drawing.Text.TextRenderingHint.ClearTypeGridFit
    e.Graphics.DrawString("Hello there", fontti, Brushes.Black, 200, 220)
End Sub

Kommentit

feenix [20.02.2007 14:26:25]

#

Ja otetaanpa huomioon, että ClearTypea ei kannata käyttää kuin LCD-näytöillä koska siihen se on tehtykin. Kuvaputkilla tulee monesti aika rumaa.

ErroR++ [29.05.2011 18:20:47]

#

Ei jostai syystä toimi.

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta