Bagikan melalui


Cara: Menggambar Garis Buram dan Semitransparan

Saat menggambar garis, Anda harus meneruskan Pen objek ke DrawLine metode Graphics kelas. Salah satu parameter Pen konstruktor adalah Color objek. Untuk menggambar garis buram, atur komponen alfa warna ke 255. Untuk menggambar garis semitransparan, atur komponen alfa ke nilai apa pun dari 1 hingga 254.

Saat Anda menggambar garis semitransparan di atas latar belakang, warna garis dipadukan dengan warna latar belakang. Komponen alfa menentukan bagaimana warna garis dan latar belakang dicampur; nilai alfa di dekat 0 menempatkan lebih banyak bobot pada warna latar belakang, dan nilai alfa di dekat 255 menempatkan lebih banyak bobot pada warna garis.

Contoh

Contoh berikut menggambar bitmap lalu menggambar tiga baris yang menggunakan bitmap sebagai latar belakang. Baris pertama menggunakan komponen alfa 255, sehingga buram. Baris kedua dan ketiga menggunakan komponen alfa 128, sehingga semitransparan; Anda dapat melihat gambar latar belakang melalui garis. Pernyataan yang menetapkan CompositingQuality properti menyebabkan pencampuran untuk baris ketiga dilakukan bersama dengan koreksi gamma.

Bitmap bitmap = new Bitmap("Texture1.jpg");
e.Graphics.DrawImage(bitmap, 10, 5, bitmap.Width, bitmap.Height);

Pen opaquePen = new Pen(Color.FromArgb(255, 0, 0, 255), 15);
Pen semiTransPen = new Pen(Color.FromArgb(128, 0, 0, 255), 15);

e.Graphics.DrawLine(opaquePen, 0, 20, 100, 20);
e.Graphics.DrawLine(semiTransPen, 0, 40, 100, 40);

e.Graphics.CompositingQuality = CompositingQuality.GammaCorrected;
e.Graphics.DrawLine(semiTransPen, 0, 60, 100, 60);
Dim bitmap As New Bitmap("Texture1.jpg")
e.Graphics.DrawImage(bitmap, 10, 5, bitmap.Width, bitmap.Height)

Dim opaquePen As New Pen(Color.FromArgb(255, 0, 0, 255), 15)
Dim semiTransPen As New Pen(Color.FromArgb(128, 0, 0, 255), 15)

e.Graphics.DrawLine(opaquePen, 0, 20, 100, 20)
e.Graphics.DrawLine(semiTransPen, 0, 40, 100, 40)

e.Graphics.CompositingQuality = CompositingQuality.GammaCorrected
e.Graphics.DrawLine(semiTransPen, 0, 60, 100, 60)

Ilustrasi berikut menunjukkan output kode berikut:

Ilustrasi yang menunjukkan output buram dan semitransparan

Mengkompilasi Kode

Contoh sebelumnya dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse, yang merupakan parameter penanganan aktivitas Paint.

Lihat juga