Fitur baru

Bagian berikut ini menjelaskan beberapa fitur baru di Windows GDI+.

Sikat Gradien

GDI+ diperluas pada Windows Graphics Device Interface (GDI) dengan menyediakan gradien linier dan kuas gradien jalur untuk mengisi bentuk, jalur, dan wilayah. Kuas gradien juga dapat digunakan untuk menggambar garis, kurva, dan jalur. Saat Anda mengisi bentuk dengan sikat gradien linier, warnanya berubah secara bertahap saat Anda bergerak melintasi bentuk. Misalnya, Anda membuat sikat gradien horizontal dengan menentukan biru di tepi kiri bentuk dan hijau di tepi kanan. Ketika Anda mengisi bentuk itu dengan sikat gradien horizontal, secara bertahap akan berubah dari biru ke hijau saat Anda bergerak dari tepi kiri ke tepi kanannya. Demikian pula, bentuk yang diisi dengan sikat gradien vertikal akan berubah warna saat Anda bergerak dari atas ke bawah. Ilustrasi berikut menunjukkan elips yang diisi dengan sikat gradien horizontal dan wilayah yang diisi dengan sikat gradien diagonal.

ilustrasi bentuk yang diisi oleh gradien horizontal dan satu diajukan oleh gradien diagonal

Saat Anda mengisi bentuk dengan sikat gradien jalur, Anda memiliki berbagai opsi untuk menentukan bagaimana warna berubah saat Anda berpindah dari satu bagian bentuk ke bagian lain. Salah satu opsinya adalah memiliki warna tengah dan warna batas sehingga piksel berubah secara bertahap dari satu warna ke warna lainnya saat Anda berpindah dari tengah bentuk ke tepi luar. Ilustrasi berikut menunjukkan jalur (dibuat dari sepasang spline Bézier) yang diisi dengan sikat gradien jalur.

ilustrasi bentuk yang mirip dengan tanda tak terbatas, diisi dari biru di mana bagian-bagian bertemu dengan aqua di tepi

Spline Kardinal

GDI+ mendukung spline kardinal, yang tidak didukung di GDI. Spline kardinal adalah urutan kurva individu yang digabungkan untuk membentuk kurva yang lebih besar. Spline ditentukan oleh array titik dan melewati setiap titik dalam array tersebut. Spline kardinal melewati dengan lancar (tidak ada sudut tajam) melalui setiap titik dalam array dan dengan demikian lebih halus daripada jalur yang dibuat dengan menghubungkan garis lurus. Ilustrasi berikut menunjukkan dua jalur, satu dibuat dengan menghubungkan garis lurus dan satu dibuat sebagai spline kardinal.

ilustrasi yang menunjukkan lima titik yang sama dua kali: setelah dihubungkan oleh spline kardinal, yang lain menurut segmen garis

Objek Jalur Independen

Di GDI, jalur milik konteks perangkat, dan jalur dihancurkan saat digambar. Dengan GDI+, gambar dilakukan oleh objek Grafis , dan Anda dapat membuat dan mempertahankan beberapa objek GraphicsPath yang terpisah dari objek Grafis . Objek GraphicsPath tidak dihancurkan oleh tindakan menggambar, sehingga Anda dapat menggunakan objek GraphicsPath yang sama untuk menggambar jalur beberapa kali.

Transformasi dan Objek Matriks

GDI+ menyediakan objek Matriks , alat canggih yang membuat transformasi (rotasi, terjemahan, dan sebagainya) mudah dan fleksibel. Objek matriks bekerja bersama dengan objek yang diubah. Misalnya, objek GraphicsPath memiliki metode GraphicsPath::Transform yang menerima alamat objek Matrix sebagai argumen. Satu matriks 3×3 dapat menyimpan satu transformasi atau urutan transformasi. Ilustrasi berikut menunjukkan jalur sebelum dan sesudah urutan dua transformasi (skala pertama, lalu putar).

ilustrasi memperlihatkan kerangka bentuk, lalu kerangka yang sama tetapi lebih sempit dan diputar

Wilayah yang Dapat Diskalakan

GDI+ sangat meluas pada GDI dengan dukungannya untuk wilayah. Di GDI, wilayah disimpan dalam koordinat perangkat, dan satu-satunya transformasi yang dapat diterapkan ke suatu wilayah adalah terjemahan. GDI+ menyimpan wilayah di koordinat dunia dan memungkinkan wilayah untuk menjalani transformasi apa pun (penskalaan, misalnya) yang dapat disimpan dalam matriks transformasi. Ilustrasi berikut menunjukkan wilayah sebelum dan sesudah urutan tiga transformasi: menskalakan, memutar, dan menerjemahkan.

ilustrasi memperlihatkan bentuk yang berpusat pada sumbu koordinat, lalu bentuk yang sama tetapi lebih besar, diputar, dan diterjemahkan ke kanan

Penpaduan Alfa

Perhatikan bahwa pada gambar sebelumnya, Anda dapat melihat wilayah yang tidak ditransformasi (diisi dengan merah) melalui wilayah yang diubah (diisi dengan sikat menetas). Ini dimungkinkan dengan pencambahan alfa, yang didukung oleh GDI+. Dengan penpaduan alfa, Anda dapat menentukan transparansi warna isian. Warna transparan dipadukan dengan warna latar belakang — semakin transparan Anda membuat warna isian, semakin banyak latar belakang yang ditunjukkan. Ilustrasi berikut menunjukkan empat elipsis yang diisi dengan warna yang sama (merah) pada tingkat transparansi yang berbeda.

ilustrasi memperlihatkan empat elipsis dari berbagai transparansi yang tumpang tindih dengan persegi panjang semi transparan

Dukungan untuk Beberapa Format Gambar

GDI+ menyediakan kelas Gambar, Bitmap, dan Metafile , yang memungkinkan Anda memuat, menyimpan, dan memanipulasi gambar dalam berbagai format. Format berikut didukung:

  • BMP
  • Graphics Interchange Format (GIF)
  • JPEG
  • Exif
  • PNG
  • TIFF
  • IKON
  • WMF
  • EMF