Bagikan melalui


Mengatur Lebar dan Perataan Pena

Saat Anda membuat objek Pena , Anda dapat menyediakan lebar pena sebagai salah satu argumen ke konstruktor. Anda juga dapat mengubah lebar pena dengan menggunakan metode Pen::SetWidth .

Garis teoritis memiliki lebar nol. Saat Anda menggambar garis, piksel dipusatkan di garis teoritis. Contoh berikut menggambar garis tertentu dua kali: sekali dengan pena hitam lebar 1 dan sekali dengan pena hijau lebar 10.

Pen blackPen(Color(255, 0, 0, 0), 1);
Pen greenPen(Color(255, 0, 255, 0), 10);
stat = greenPen.SetAlignment(PenAlignmentCenter);

// Draw the line with the wide green pen.
stat = graphics.DrawLine(&greenPen, 10, 100, 100, 50);

// Draw the same line with the thin black pen.
stat = graphics.DrawLine(&blackPen, 10, 100, 100, 50);

Ilustrasi berikut menunjukkan output kode sebelumnya. Piksel hijau dan piksel hitam berpusat pada garis teoritis.

ilustrasi memperlihatkan garis tipis, diagonal, hitam yang dikelilingi oleh garis hijau yang lebar

Contoh berikut menggambar persegi panjang tertentu dua kali: sekali dengan pena hitam lebar 1 dan sekali dengan pena hijau lebar 10. Kode meneruskan nilai PenAlignmentCenter (elemen enumerasi PenAlignment ) ke metode Pen::SetAlignment untuk menentukan bahwa piksel yang digambar dengan pena hijau dipusatkan pada batas persegi panjang.

Pen blackPen(Color(255, 0, 0, 0), 1);
Pen greenPen(Color(255, 0, 255, 0), 10);
stat = greenPen.SetAlignment(PenAlignmentCenter);

// Draw the rectangle with the wide green pen.
stat = graphics.DrawRectangle(&greenPen, 10, 100, 50, 50);

// Draw the same rectangle with the thin black pen.
stat = graphics.DrawRectangle(&blackPen, 10, 100, 50, 50);

Ilustrasi berikut menunjukkan output kode sebelumnya. Piksel hijau berpusat pada persegi panjang teoritis, yang diwakili oleh piksel hitam.

ilustrasi memperlihatkan garis hitam tipis dalam bentuk persegi panjang, dikelilingi oleh garis hijau yang lebih lebar

Anda dapat mengubah perataan pena hijau dengan memodifikasi pernyataan ketiga dalam contoh sebelumnya sebagai berikut:

stat = greenPen.SetAlignment(PenAlignmentInset);

Sekarang piksel di garis hijau lebar muncul di bagian dalam persegi panjang seperti yang ditunjukkan pada ilustrasi berikut.

ilustrasi memperlihatkan garis hitam tipis dalam bentuk persegi panjang, yang mengapit garis hijau lebar dengan bentuk yang sama