SVG ialah singkatan bagi Scalable Vector Graphics. Ini ialah piawaian terbuka W3C untuk gambar yang diterangkan sebagai arahan dan bukannya piksel: lukis bulatan di sini, ikut lengkung ini, isikan bentuk itu dengan warna ini, tetapkan perkataan ini dengan jenis huruf itu. Oleh sebab gambar ialah sekumpulan arahan, ia boleh dilukis pada sebarang saiz tanpa menjadi kabur atau berpetak, sebab itu logo, ikon, peta dan carta selalunya dalam SVG.
Cara SVG menyimpan gambar
Fail SVG ialah XML: teks yang boleh dibaca dan anda boleh membukanya dalam mana-mana penyunting. Elemen <path> membawa rentetan padat bagi arahan lukisan, <rect>, <circle> dan <polygon> melakukan perkara yang jelas, <text> menyimpan teks sebenar yang boleh dipilih, dan <g> mengumpulkan elemen supaya ia boleh digerakkan atau digayakan bersama. Atribut viewBox mentakrifkan sistem koordinat, yang menjadikan keseluruhan lukisan boleh diskala dengan baik.
Oleh sebab ia ialah teks, SVG boleh dimampatkan dengan sangat baik; SVG yang digzip (kadangkala diberi sambungan .svgz) selalunya hanyalah sebahagian kecil daripada saiz asalnya. Sebagai teks juga bermakna SVG boleh digayakan dengan CSS, dianimasikan dan diprogramkan dengan skrip. Pelayar melayannya sebagai sebahagian daripada dokumen dan bukannya sebagai imej legap.
Keupayaan terakhir itu ada dimensi keselamatan yang penting: SVG boleh mengandungi elemen <script>. Di mana-mana sahaja SVG diterima sebagai muat naik pengguna, ia perlu dinyahjangkit atau dihidang dengan cara yang tidak boleh dilaksanakan, sebab itu sesetengah laman menolak SVG walaupun mereka menerima setiap format raster.
SVG bukan bekas yang sesuai untuk foto. Anda boleh benamkan imej raster di dalamnya, tetapi ketika itu anda hanya mempunyai gambar piksel yang dibalut dalam XML dan tiada sebarang kelebihan penskalaan.
Metadata yang dibawa oleh SVG
SVG mempunyai elemen <metadata> khusus, dan kerana piawaian tidak menetapkan apa yang perlu dimasukkan, penyunting meletakkan banyak maklumat di situ. Selalunya ia menyimpan RDF yang menggunakan istilah Dublin Core: dc:title, dc:creator, dc:date, dc:description, dc:rights dan satu URI lesen. Elemen <title> dan <desc> juga boleh berada pada akar atau pada mana-mana bentuk individu, di mana ia berfungsi dua kali ganda sebagai teks kebolehcapaian untuk pembaca skrin.
Kemudian terdapat pula rekod dalaman penyunting, dan ini biasanya bahagian yang terbesar. Inkscape menulis keseluruhan ruang nama miliknya: geometri tetingkap dokumen, tahap zum dan kedudukan kursor ketika ia terakhir disimpan, garis panduan, tetapan grid, nama lapisan dan keterlihatan, serta rentetan inkscape:version. Illustrator membenamkan paket XMP dengan pengecam dan sejarah dokumennya sendiri. Tiada satu pun daripadanya melukis apa-apa.
Dua perkara praktikal menyusul. Data penyunting mudah menjadi sebahagian besar fail, jadi menjalankan SVG melalui pengoptimum sebelum diterbitkan selalunya mengurangkan saiznya separuh. Dan nama lapisan ialah teks yang anda tulis: <g inkscape:label="client logo v3 REJECTED"> tidak kelihatan dalam gambar tetapi jelas kelihatan dalam fail.
Bila hendak menggunakan SVG
Gunakan SVG untuk apa-apa yang dilukis dan bukannya difoto: logo, ikon, rajah, carta, ilustrasi, peta. Ia ialah pilihan yang tepat untuk web, di mana satu fail menyokong semua ketumpatan skrin, dan untuk cetakan, di mana ia boleh diskala kepada sebarang saiz.
Gunakan PNG atau JPG untuk foto dan untuk apa-apa yang bertona berterusan. Eksport juga salinan raster rata apabila anda memerlukan gambar yang boleh dibuka dalam perisian yang terlalu lama atau terlalu terhad untuk SVG, dan buang metadata penyunting sebelum menerbitkan, baik untuk mengecilkan fail mahupun kerana nama lapisan tidak semestinya untuk tatapan umum.