Bir SVG dosyasında ne vardır
Bir SVG belgesi üç tür grafik nesne tutabilir: doğru çizgiler ve eğrilerden kurulu yollar dahil vektör şekiller, bit eşlem görüntüler ve metin. Nesneler gruplanabilir, biçemlenebilir, dönüştürülebilir ve önceden çizilmiş olanın üzerine birleştirilebilir. Özellik kümesinde iç içe dönüşümler, kırpma yolları, alfa maskeler, filtre etkileri ve şablon nesneler vardır. Bir çizim etkileşimli olabilir. Canlandırma, SVG öğelerinin kendisinde yazılabilir ya da belgenin nesne modeline uzanan bir betikte.
Biçemleme CSS'tir. Betik, JavaScript'tir. Metin belgede gerçek karakterler olarak durur. Bir çizimin aranabilmesinin ve karışık yönler dahil uluslararası metnin bir hile değil olağan bir durum olmasının nedeni budur. Belirtim, vektör işaretlemeye yöneliktir. Tasarımı, bir sayfa betimleme dilinin temel görevlerini de kapsar. PDF'nin yaptığı türden iş: her glifi ve her görüntüyü basılı bir sayfada seçilmiş bir noktaya koyacak kadar bilgi. CSS onu yine de biçemler. İki olgu, beklenenden daha rahat yan yana durur. Bir dosya pazartesi bir web sitesinde resim, salı bir baskı tirajında şekil olabilir. Aynı metinden.
SVG 1.1 belirtimi kendini on dört işlevsel alanda toplar. Aşağıdaki, bu alanların bir okuma sırasıdır. Başlıkların on dördüncü bir kopyası değil.
Yollar, şekiller ve metin
Yollar, bir dış çizgiyi tarif etmenin sıkışık yoludur. Bir yol doldurulabilir, konturlanabilir ya da kırpma sınırı olarak kullanılabilir. Komutlar tek harftir. M şuraya git demektir ve ardından bir x ile bir y gelir. L çizgi çiz demektir. C, S, Q, T ve A çeşitli Bézier ve eliptik eğriler getirir. Z yolu kapatır. Büyük harf, ardından gelen sayıların mutlak koordinat olduğu anlamına gelir. Aynı harfin küçük hali, sayıların yürürlükteki noktaya göre olduğu anlamına gelir. Sıkılığın tamamı budur. Karmaşık bir dış çizgi, her birinde bir koordinat olan XML öğeleri listesi değil, kısa bir dizgedir.
Temel şekiller, sık görülen durumların yol olarak yazılmak zorunda kalmaması için vardır. Doğru çizgiler, çoklu çizgiler, çokgenler, daireler, elipsler, dikdörtgenler ve köşeleri yuvarlatılmış dikdörtgenler birinci sınıf öğelerdir. Her biri bir yoldan kurulabilir. Buna gerek kalmamalıdır.
Metin, XML içindeki Unicode karakter verisidir. Görsel etki çok çeşitlidir. Belirtim çift yönlü metni ele alır, böylece bir İngilizce akış ile bir Arapça akış aynı satırı paylaşabilir. Çince ya da Japonca için kullanılan türden dikey metni ve bir eğri boyunca yatırılmış metni de ele alır. Klasik gösteri, bir mühürün çevresine dizilen yazıdır. İşine yarayan gösteri, metin olarak kalan ve kopyalanabilen bir şema etiketidir. Yollara çevrilmiş, yalnızca bakılabilen bir etiket değil.
Boya
Şekiller bir renkle, bir gradyanla ya da bir desenle doldurulabilir ve konturlanabilir. Dolgu opak olabilir ya da herhangi bir saydamlıkta. İmleyiciler, bir çizginin köşe noktalarındaki ya da uçlarındaki süslerdir. Ok uçları açık örnektir. Renk, CSS'teki gibi belirtilir. blue gibi bir ad, kısa ya da uzun bir onaltılık değer, ondalık bir rgb() üçlüsü ya da yüzdeler. Gradyanlar doğrusal ya da dairesel olabilir, istediği kadar durak içerebilir, yineleyebilir ve renkle birlikte opaklığı da değiştirebilir. Desenler bir raster ya da vektör nesneden kurulur ve x ile y boyunca yinelenir. Gradyanlar ve desenler canlandırılabilir ve betikle denetlenebilir.
2008'den beri, gradyan ağlarının ya da yayınım eğrilerinin eklenip eklenmemesi üzerine meslek içinde bir tartışma vardır. Yalın bir yayınım eğrisi temsili ince gölgelendirme tutabilir ve bir bit eşlemden kendiliğinden yakalanabilir. Hem ağları hem yayınım eğrilerini kullanmış sanatçılar, eğrileri kurması daha yalın bulmuştur. SVG 2 taslağı gradyan ağlarını içerir. Tarayıcılar bunu yaygın olarak çizene kadar pratik takım, düz renk, doğrusal ve dairesel gradyanlar ve desenlerden ibarettir.
<rect x="16" y="28" width="90" height="70" fill="#2070e0"/>
<circle cx="160" cy="74" r="36" fill="#f07000"/>
<line x1="210" y1="30" x2="264" y2="122" stroke="#1858b8" stroke-width="4"/>
Kırpma, filtreler ve yığın
Metin dahil grafik öğeler bir iç ve bir dış tanımlayabilir ve bu bölgeler bağımsız boyanabilir. Tümüyle opak kırpma yolları ile yarı saydam maskeler, alfa harmanlamayla birleştirilerek son görüntünün her pikselinin rengini ve opaklığını üretir. Kırpma, neyin göründüğünü söyler. Maske, ne kadar göründüğünü. Konuşmada karıştırmaları kolaydır ve dosyada ayrı öğelerdir.
Filtre etkisi, bir kaynak grafiğe uygulanan ve değiştirilmiş bir bit eşlem sonuç üreten bir dizi grafik işlemdir. Kaynak vektör olarak kalabilir. Süzülmüş çıktı pikseldir. Bulanıklık, herkesin kullandığı örnektir. İşleyiş, bulanıklıktan daha geneldir: her biri bir öncekinin sonucunu alan bir işlem zinciri. Filtreler, bir “vektör dosyanın” ömrünün bir bölümünde sessizce raster haline geldiği noktadır da. Sayfa ölçeklenince vektörler yeniden çizilir. Filtre yeniden çalışır. Bulanık bir SVG'nin, önceden bulanıklaştırılmış bir PNG'nin kalamadığı yerde keskin kalabilmesinin nedeni budur. Ağır bir filtrenin de bedelsiz olmamasının.
Etkileşim, bağlantılar, betikler, canlandırma
SVG görüntüleri bir kullanıcıya birkaç yolla yanıt verebilir. Köprülerin yanında, bir çizimin herhangi bir parçası arayüz olaylarını dinleyebilir: odak değişimleri, tıklamalar, kaydırma, yakınlaştırma ve başka işaretçi, klavye ve belge olayları. Bir işleyici bir canlandırmayı başlatabilir, durdurabilir ya da değiştirebilir, ya da bir betik çalıştırabilir. Bağlantılar XLink kullanır. Bir view öğesi ya da bir parça tanımlayıcısı aracılığıyla bir URL, bir SVG dosyasını bir bölgeye yakınlaştırılmış ya da tek bir öğeyle sınırlı açabilir. Tek bir çizimden bir sprite sayfası kurmanın pratik yoludur. use ile birlikte XLink, bir dosyanın kendi içindeki ya da dışarıdaki bir öğeyi göstermesini ve onu yeniden kullanmasını da sağlar. Daha az işaretleme ve işaret değişeceği zaman tek bir tanım.
Belgenin her parçasına, HTML ile aynı ruhla, bir betikten erişilebilir. Her öğe ve her öznitelik için bir belge nesne modeli nesnesi vardır. Betikler script öğelerinde durur ve işaretçi, klavye ve belge olaylarına yanıt olarak çalışabilir. Canlandırmanın kendi öğeleri vardır, aralarında animate, animateMotion ve animateColor. Bir zamanlayıcı üzerindeki betikten belgeyi değiştirerek de yapılabilir. Canlandırma tasarımı, SMIL ile, yani Synchronized Multimedia Integration Language ile uyumlu kalsın diye düşünülmüştü. W3C, SVG'de canlandırma standardı olarak SMIL'i açıkça önerir. Canlandırmalar sürekli olabilir, döngüye girebilir ve kullanıcıya yanıt verebilir. Hareket eden bir çizim hâlâ bir çizimdir. Kendiliğinden iyi bir fikir değildir. Geometriyi yeniden söyleyen hareket, duran dosyanın zaten söylemediği bir şey öğretmez.
Yazı tipleri, üstveri, yeniden kullanım
SVG'deki metin, makineye kurulu bir yazı tipi dahil, dış bir yazı tipine başvurabilir. Dosyanın çizildiği yerde o yazı tipi yoksa metin tasarlandığı gibi görünmez. Eski belirtimdeki bir çare, SVG yazı tipidir: glifler dosyanın içinde tanımlanır ve metin öğesinden onlara başvurulur. SVG 2 bu işi WOFF'a doğru kaydırır. Alttaki sorun yerinden oynamaz. Okurun elinde olmayan bir yazı tipine dayanan bir çizim, yerine başka bir yazı tipi konacak bir çizimdir ve bu koyma satır uzunluklarını değiştirir.
Üstveri, W3C'nin betimlemeye dair daha geniş ilgisine uyar. metadata öğesi Dublin Core özellikleri taşıyabilir: başlık, oluşturan, konu, açıklama. Başka şemalara da izin vardır. title ve desc, görüntünün içinde düz metin açıklama verir. Bu, dizinlemeye yardım eder ve resmi göremeyen bir okura da yardım eder. Bir belge bir şekli ya da bir gradyanı bir kez tanımlayıp birçok kez kullanabilir. Raster görüntüler, PNG ya da JPEG, ve başka SVG belgeleri de içerebilir. Biçim bir çizimdir. Bir çizimin parçalarının küçük bir arşividir de. Onu sunan, tarayıcılar, telefonlar ve baskı araçlarıdır.
