Bagikan melalui


Antialias dengan Garis dan Kurva

Saat Anda menggunakan GDI+ untuk menggambar garis, Anda menyediakan titik awal dan titik akhir garis, tetapi Anda tidak perlu memberikan informasi apa pun tentang piksel individual di baris. GDI+ bekerja bersama dengan perangkat lunak driver tampilan untuk menentukan piksel mana yang akan diaktifkan untuk menampilkan garis pada perangkat tampilan tertentu.

Penaliasan

Pertimbangkan garis merah lurus yang berjalan dari titik (4, 2) ke titik (16, 10). Asumsikan sistem koordinat memiliki asalnya di sudut kiri atas dan bahwa unit pengukuran adalah piksel. Asumsikan juga bahwa sumbu x menunjuk ke kanan dan sumbu y menunjuk ke bawah. Ilustrasi berikut menunjukkan tampilan garis merah yang diperbesar yang digambar pada latar belakang multiwarna.

Line, tanpa antialiasing

Piksel merah yang digunakan untuk merender garis tidak transparan. Tidak ada piksel transparan sebagian pada garis. Jenis penyajian garis ini memberikan garis penampilan bergerigi, dan garis tersebut terlihat agak seperti anak tangga. Teknik mewakili garis dengan tangga ini disebut aliasing; tangga adalah alias untuk garis teoritis.

Antialias

Teknik yang lebih canggih untuk merender garis melibatkan penggunaan piksel transparan sebagian bersama dengan piksel buram. Piksel diatur ke merah murni, atau ke beberapa perpaduan merah dan warna latar belakang, tergantung pada seberapa dekat mereka dengan garis. Jenis penyajian ini disebut antialisis dan menghasilkan garis yang dirasakan mata manusia lebih halus. Ilustrasi berikut menunjukkan bagaimana piksel tertentu dipadukan dengan latar belakang untuk menghasilkan garis antialisis.

Menghaluskan Garis

Antialiasing, juga disebut smoothing, juga dapat diterapkan pada kurva. Ilustrasi berikut menunjukkan tampilan elips halus yang diperbesar.

AboutGdip02_Art35 Kurva Antialias

Ilustrasi berikut menunjukkan elips yang sama dalam ukuran aktualnya, sekali tanpa antialisi dan sekali dengan antialisis.

contoh Antialiasing

Untuk menggambar garis dan kurva yang menggunakan antialias, buat instans kelas Graphics dan atur properti SmoothingMode ke AntiAlias atau HighQuality. Kemudian gunakan salah satu metode menggambar dari kelas Graphics yang sama.

myGraphics.SmoothingMode = SmoothingMode.AntiAlias;
myGraphics.DrawLine(myPen, 0, 0, 12, 8);
myGraphics.SmoothingMode = SmoothingMode.AntiAlias
myGraphics.DrawLine(myPen, 0, 0, 12, 8)

Lihat juga