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 menggunakan properti Width dari kelas Pen.

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 Pen untuk menentukan bagaimana piksel yang digambar dengan pena tersebut akan diposisikan relatif terhadap garis teoritis.

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

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 properti Alignment ke Center (default) untuk menentukan bahwa piksel yang digambar dengan pena hijau akan berpusat pada garis teoritis. Ilustrasi berikut menunjukkan baris yang dihasilkan.

    Garis tipis hitam dengan sorotan hijau.

    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 properti Alignment ke Center untuk menentukan bahwa piksel yang digambar dengan pena hijau akan berpusat pada batas persegi panjang.

    Ilustrasi berikut menunjukkan persegi panjang yang dihasilkan:

    Persegi panjang digambar dengan garis tipis hitam dengan sorotan hijau.

    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:

    Persegi panjang digambar dengan garis hitam dengan garis hijau lebar di dalamnya.

Lihat juga