SVG: Basit ve Karmaşık Şekiller Oluşturmak İçin Çizgileri Kullanma
Yayınlanan: 2022-12-28Çizgi, svg'de temel bir şekildir. Çizgi, üçgen veya daha karmaşık bir şekil gibi basit şekiller oluşturmak için kullanılabilir. Çizgi, yol olarak da kullanılabilir. Bir yol, bağlı hatlardan oluşan bir dizidir.
Standart şekillerden daha güçlü ve esnek oldukları için her şeyi ve her şeyi yaratmak için kullanılabilirler. Yol öğesi, bir yolu tanımlamak için kullanılabilecek çeşitli komutlar ve koordinatlar içerir. Yol tanımı (d), komut satırını kullanarak yeni bir noktaya gitmenizi ve farklı çizgiler ve eğriler çizmenizi sağlar. Yol, beş satırlık komutlardan biri kullanılarak oluşturulabilir. Bu gönderi, kod için satır içi SVG kullanacaktır. Başlamak için aşağıdaki gibi bir yol tanımlanır: x=50 ve y=50 (M 50 50 50). Bu sonraki satırda, küçük harf olarak l (l 0 300) harfini kullanıyoruz.
0 300'ün bağıl koordinatları bu komutlara mevcut noktadan (50 50) çizilir. Aşağıdaki örnekte gösterildiği gibi, ortadaki üç lineto komutunu yatay ve dikey olanlarla değiştiriyoruz. Hiçbir koordinat belirtilmediğinden, son koordinat kümesinin belirtilmesi gerekmez. İkinci bir seçenek, her komuttan sonra x ve y koordinatlarını ayırmak için virgül kullanmaktır. Boşluk, her komutu ve yol verisini daha görünür kılmak için kullanılabilir. Yol komutları, önceki bölümlerde bulunan basit şekillerden çok daha fazla yönlüdür. İlk örnekten itibaren, lineto komutları kullanılarak bir yol oluşturulabilir. Her yol komutunun kendi yürütme satırı olabilir ve daha da fazla boşluk kullanabilirsiniz. Görünüşte bağlantısız iki hat oluşturmak tek bir komut kadar basit.
Yollar, SVG'de 'yol' öğesi kullanılarak tanımlanır. Her temel şekil, eşdeğer yolunun ne olduğu, yani şeklinin ne olduğu cinsinden tanımlanır. Yol, bir öğenin yolunun aksine yolun kendisidir.
SVG'de çizginin oluşturulabilmesi için iki noktanın line> elementi gibi bir element üzerinden bağlanması gerekir.
Svg'de Herhangi Bir Yol Çizmek Mümkün mü?
Evet, SVG'de herhangi bir yol çizmek mümkündür. Yol çizme söz konusu olduğunda SVG çok fazla özgürlük sağlar. İstediğiniz şekil türünü oluşturmak için çeşitli yol komutlarını kullanabilirsiniz.
Yol komutlarının bir listesi aşağıdadır: moveto, lineto,curveto (hem kübik hem de ikinci dereceden baziler), yaylar ve yakın yollar. Bileşik yol (yani, birden fazla alt yola sahip bir yol), nesnelerin halka deliklerle değiştirilmesine izin verir. Bu bölümde, SVG yolları için sözdizimi, davranış ve DOM arabirimleri açıklanmaktadır. Yol verisi komutunun ardından, tek bir karakterin izlediği bir dizi komut gelir. Yol verisi, dosyaları daha az yer ve daha az çabayla indirmesine izin veren basit bir sözdizimine sahiptir. Yeni satır karakterlerinin varlığı nedeniyle okumayı kolaylaştırmak için yol verilerini birden çok satıra bölmek mümkündür. İşaretleme kullanılırken, içlerindeki niteliklerdeki yeni satırlar boşluk karakterlerine normalleştirilir.
Yol veri dizisi, değer için bir dize olarak kullanılabilecek bir şekli belirtir. Aşağıdaki adımlar, Yol Veri Hatası İşleme bölümüne dayalı olarak dize içindeki hatalarla başa çıkmanıza yardımcı olacaktır. Varsa, yol veri segmentinden önce bir moveto komutu gelmelidir. Geçerli alt yolun başladığı noktadan, alt yolun bittiği noktaya otomatik bir düz çizgi çizilir. Bu durumda, uzunluğu sıfır olan bir yol parçası uygun olacaktır. Closepath yöntemini kullanırken, alt yolun sonu, şu anda kullanılan 'stroke-linejoin' değeri kullanılarak ilk segmentin başlangıcına birleştirilir. Açık bir alt yol, kapalı bir alt yolla aynı şekilde davranır, ancak yol bölümleri çakışmaz.
Python'da parça tamamlama için yakın yol işlemleri şu anda desteklenmemektedir. Geçerli noktadan yeni noktaya, çeşitli lineto komutları düz çizgiler çizer. Göreceli bir l komutu verirseniz, bir satırın tam bitiş noktasını (cpy x) elde edebilirsiniz. Pozitif x ekseni yönünde, pozitif bir x değerinin ilgili h komutu yatay bir çizgi oluşturur. İlk beş örnek, kübik bir Bezier yol parçasına genel bir bakış sağlar. Aşağıda dört eliptik yay komutu verilmiştir. Bir yay çizmek için göreli bir komut kullanıldığında, cpy x yayın bitiş noktasıdır (cpx x, cpy y).
Büyük yay bayrağı ve süpürme bayrağı, dört yaydan hangisinin çizildiğini temsil eder. EBNF işlemenin, bir karakter artık üretimin gereksinimlerini karşılamadığında durması için belirli bir üretimi mümkün olduğunca çok tüketmesi gerekir. d özelliğinin değeri yok ise, oluşturma devre dışı bırakılır. Bir uç şekli hesaplanırken ve işaretçiler seçilirken, parça sınırlarındaki varsayılan yön göz ardı edilir. Sıfır rx veya ry'ye sahip bir yay, uç noktaları birleştirecek bir düz çizgi parçası (lineto) olarak kabul edilir. Bu ölçeklendirme prosedürü, bu ölçeklendirme prosedürü için matematik formülünün ek bölümünde bulunabilir. Uzunluğu olmayan yol segmentleri geçersiz değildir ve aşağıdaki durumlarda işleme sorunlarına neden olabilirler.
Kullanıcı aracısının yola göre mesafe hesaplamalarını ölçeklendirmesine izin vermek için, yazarın toplam yol uzunluğunu hesaplamak için 'pathLength' özniteliği kullanılabilir. Bir 'yol' öğesinin, 'taşı' işlemi için uzunluğu yoktur. Yol uzunluğu, çoklu "lineto", "curveto" ve "arcto" komutları seçilerek hesaplanır.
Svg'de Nasıl Yatay Çizgi Çizerim?
Svg'de yatay bir çizgi çizmek için 'line' öğesini kullanmanız gerekir. 'line' öğesi, çizginin başlangıç ve bitiş noktalarının x koordinatlarını belirten 'x1' ve 'x2' olmak üzere iki öznitelik gerektirir. 'y1' ve 'y2' öznitelikleri gerekli değildir, ancak belirtilmezlerse varsayılan olarak '0' olur.
CodePen'de, HTML düzenleyicide ne yazarsanız yazın, temel bir HTML5 şablonunda görünen öğeler HTML5 öğeleridir. Belgenin tamamını etkileyen sınıflar eklemek istiyorsanız gidilecek yer burasıdır. CSS, İnternette bulunan herhangi bir stil sayfasından Kaleminize uygulanabilir. Kaleminizdeki komut dosyasını İnternet üzerindeki herhangi bir yerden kolayca değiştirebilirsiniz. Bunun için bir URL belirtebilirsiniz ve JavaScript'i Kalem'e yerleştirdiğinizde belirttiğiniz sırayla ekleyeceğiz. Bağlanmış bir önişlemci için bir dosya uzantısı içeriyorsa betiği işleyeceğiz.
Svg Yoluna Sınıf Ekleyebilir miyim?
Bir html öğesine sınıf niteliği eklemek, bir HTML öğesine sınıf eklemekle aynıdır. Css kullanırken, svg kodunun belgeye satır içi eklenmesi gerekir, ancak bir *img etiketi buna referans vermez.
Svg Öğeleri Ve Sınıfı
Aşağıdaki çizim, "kap" adı verilen bir SVG öğesinde hem "dik" hem de "daire" öğelerini içerir. “dik” öğesinde iki “genişlik” ve “yükseklik” özelliği vardır; "daire" öğesinde iki "yarıçap" özelliği vardır. XMLns:xlink xmlns: xlink: http://www.w3.org/1999/xlink/xlink.html genişlik=100% yükseklik=100% Daire genişliği: %50 yükseklik: %50 yarıçap: %10 dolgu: kırmızı