Bagikan melalui


Cara: Mengatur Lebar dan Perataan Pena

Saat Anda membuat Pen, Anda dapat menyediakan lebar pena sebagai salah satu argumen ke konstruktor. Anda juga dapat mengubah lebar pena dengan Width properti Pen kelas.

Garis teoritis memiliki lebar 0. Saat Anda menggambar garis dengan lebar 1 piksel, piksel akan berpusat pada garis teoritis. Jika Anda menggambar garis yang lebarnya lebih dari satu piksel, piksel dipusatkan pada garis teoritis atau muncul ke satu sisi garis teoritis. Anda dapat mengatur properti perataan pena dari untuk Pen menentukan bagaimana piksel yang digambar dengan pena tersebut akan diposisikan relatif terhadap garis teoritis.

CenterNilai , Outset, dan Inset yang muncul dalam contoh kode berikut adalah anggota PenAlignment enumerasi.

Contoh kode berikut menggambar garis dua kali: sekali dengan pena hitam lebar 1 dan sekali dengan pena hijau lebar 10.

Untuk memvariasi lebar pena

  • Atur nilai Alignment properti ke Center (default) untuk menentukan bahwa piksel yang digambar dengan pena hijau akan berpusat pada garis teoritis. Ilustrasi berikut menunjukkan baris yang dihasilkan.

    A black thin line with green highlight.

    Contoh kode berikut menggambar persegi dua kali: sekali dengan pena hitam lebar 1 dan sekali dengan pena hijau lebar 10.

    Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1);
    Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10);
    greenPen.Alignment = PenAlignment.Center;
    
    // Draw the line with the wide green pen.
    e.Graphics.DrawLine(greenPen, 10, 100, 100, 50);
    
    // Draw the line with the thin black pen.
    e.Graphics.DrawLine(blackPen, 10, 100, 100, 50);
    
    Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1)
    Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10)
    greenPen.Alignment = PenAlignment.Center
    
    ' Draw the line with the wide green pen.
    e.Graphics.DrawLine(greenPen, 10, 100, 100, 50)
    
    ' Draw the line with the thin black pen.
    e.Graphics.DrawLine(blackPen, 10, 100, 100, 50)
    
    

Untuk mengubah perataan pena

  • Atur nilai Alignment properti ke untuk Center menentukan bahwa piksel yang digambar dengan pena hijau akan berpusat pada batas persegi panjang.

    Ilustrasi berikut menunjukkan persegi panjang yang dihasilkan:

    A rectangle drawn with black thin lines with green highlight.

    Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1);
    Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10);
    greenPen.Alignment = PenAlignment.Center;
    
    // Draw the rectangle with the wide green pen.
    e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50);
    
    // Draw the rectangle with the thin black pen.
    e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50);
    
    Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1)
    Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10)
    greenPen.Alignment = PenAlignment.Center
    
    ' Draw the rectangle with the wide green pen.
    e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50)
    
    ' Draw the rectangle with the thin black pen.
    e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50)
    
    

Untuk membuat pena inset

  • Ubah perataan pena hijau dengan memodifikasi pernyataan ketiga dalam contoh kode sebelumnya sebagai berikut:

    greenPen.Alignment = PenAlignment.Inset;
    
    greenPen.Alignment = PenAlignment.Inset
    
    

    Sekarang piksel di garis hijau lebar muncul di bagian dalam persegi seperti yang ditunjukkan dalam ilustrasi berikut:

    A rectangle drawn with black lines with the wide green line inside.

Baca juga