>JavaScript ile Ölçeklenebilir Vektör Grafikleri (SVG'ler) Nasıl Çizilir

Yayınlanan: 2023-02-25

Ölçeklenebilir Vektör Grafiklerinin veya SVG'lerin JavaScript ile nasıl çizileceğine ilişkin ayrıntılı bir yanıt istediğinizi varsayarsak, bunu yapmanın bir yolu burada. SVG'ler, etkileşim ve animasyon desteği ile iki boyutlu grafikler için XML tabanlı bir vektör görüntü formatıdır. SVG belirtimi, World Wide Web Konsorsiyumu (W3C) tarafından 1999'dan beri geliştirilen açık bir standarttır. JavaScript ile, bir SVG belgesinin öğelerine erişmek ve bunları değiştirmek için Belge Nesne Modeli'ni (DOM) kullanabilirsiniz. Örneğin, öğeler ekleyebilir veya kaldırabilir, niteliklerini değiştirebilir veya onlara animasyon uygulayabilirsiniz. Aşağıda, bir daire öğesiyle bir SVG belgesinin nasıl oluşturulacağına ve bunun DOM'a nasıl ekleneceğine ilişkin temel bir örnek verilmiştir. Öncelikle, bir öğe içeren bir HTML belgesi oluşturun ve genişlik ve yükseklik niteliklerini ayarlayın. Ardından, bir öğe oluşturun ve dairenin merkezinin x ve y koordinatlarını tanımlamak için cx ve cy niteliklerini ayarlayın. Ardından, dairenin yarıçapını tanımlamak için r niteliğini ayarlayın. Son olarak, öğeyi öğeye ekleyin. Görüntüleri ve verileri depolamak için kullanılan.svg dosya biçimi, daha dinamik ölçeklemeye olanak tanır. XML işaretlemesi, yolun nasıl çizildiğini açıklamak yerine, bunların nasıl çizildiğini ve hizalandığını açıklamak için kullanılır. İşaretlemeyi bir HTML dosyasına dönüştürdüğünüzde, tam olarak simgenin göründüğü gibi görünecektir. Uzak bir konumdaki verilere işlenirken dinamik olarak SVG simgeleri eklemek istiyorsanız, bu yöntem kullanılabilir. HTML öğeleri gibi XML etiketleri de oluşturulabilir ve oluşturulabilir. XML dosyasının main.js dosyası, bir XPath işlevi kullanılarak oluşturulabilir. Bağlantı etiketini oluşturulduktan sonra grafiğe yerleştirerek kaydırma özelliğinin çalışmasına izin vereceğiz. Sonuç olarak, herhangi bir öğe bundan sonra herhangi bir öğe gibi işlenebilir. Stiller, sınıflar ve - en önemlisi - nitelikler eklemek için çeşitli seçenekler vardır. Simgeler her gönderiye önceden eklenir ve kaydırmayı kolaylaştırmak için bağlantı bağlantıları olarak kullanılabilir. SVG platformu daha fazla erişilebilirliğe sahiptir. SVG kullanarak ekranda öğe çizmek için komut dosyalarının kurulu olması gerekir. Sınavlarınızın tamamlanıp tamamlanmadığını kontrol etme zamanı değil. Testi çözmeden önce sayfayı okuyarak kolayca çözebilirsiniz. Svg'de Javascript Kullanabilir miyiz?Görüntü Kaynağı: https://iconscout.comJavaScript, açılış ve kapanış svg> etiketleri arasında herhangi bir yerden bir SVG belgesine eklenebilir. Engellemeden kaçınarak tam olarak erişilebilmesi için belgenin sonuna bir komut dosyası yerleştirilmelidir. SVG'ler, Belge Nesne Modeli (DOM) ile HTML ile aynı şekilde görüntülenebilir. Sonuç olarak, Javascript bunları oldukça kolay bir şekilde işlemek için kullanılabilir. Bu kursta hem satır içi hem de harici SVG'lerin nasıl kullanılacağını ele alacağım. Kod örnekleri, bu gönderinin üst kısmında bulunan GitHub'da mevcuttur. Harici bir SVG kullanıyorsanız, öğeyi eklerken aynı kodu kullanmanıza gerek yoktur. SVG, sayfaya katıştırılmış HTML belgesine erişemediğinden, onu diğer SVG'leri değiştirmek için kullanabiliriz. JS kodunu CDATA ile sardığınızda, XML onu XML'in bir parçası olarak ayrıştırır. HTML'de öğe oluşturmak ve kaldırmak aynıdır. Öğe oluşturabilmeniz için ilgili belgenin createElementNS() yöntemi, öğe adını ve SVG ad alanını iletmelidir. Bir öğeyi kaldırmak istiyorsanız, önce createTextNode() kullanarak ayrı bir metin düğümü oluşturmalı ve ardından bunu metin öğesine eklemelisiniz. Aynı belgede bulunmazlar, dolayısıyla iyi çalışırlar. Svg'nin Artıları ve Eksileri Vektör tabanlı, XML biçimli biçimleri nedeniyle, SVG'ler bozulmaz veya çözünürlüğe bağlı değildir, bu da onları yeniden boyutlandırmayı kolaylaştırır. CSS ve/veya JavaScript, SVG'leri kolayca değiştirmek ve canlandırmak için kullanılabilir. SVG, JPG, JPEG, PNG ve diğer biçimlere göre daha az bellek kullandığı ve yüklenmesi daha kısa sürdüğü için duyarlı tasarım için idealdir. SVG, çok yönlü bir dosya formatı olmasının yanı sıra animasyonları ve şeffaflığı destekler. Bu biçimi kullanmanın tek bir sorunu vardır: PNG gibi diğer standart biçimler kadar yaygın olarak kullanılmaz, bu nedenle sitenize yüklemek ve düzgün şekilde görüntülemek her zaman o kadar kolay değildir ve her zaman eski tarayıcılarla uyumlu değildir. ve cihazlar.Svg Javascript Bağımlı mı?İlkel yapısı nedeniyle son derece duyarlıdır, ancak metin işleme yeteneklerinden yoksundur ve öğeyle herhangi bir etkileşim JavaScript'e bağlıdır. Vektör tabanlı bir görüntü, tüylenmeye neden olmadan boyutlandırılabilir (sıkıştırma gerektirse de). Çizilen her şekil, SVG'de bir nesneden oluşur. Html'den Svg Javascript'e JavaScript kullanarak, HTML'yi SVG'ye dönüştürmek mümkündür. Bu, canvg gibi bir kitaplık kullanılarak yapılabilir. canvg ile HTML sayfalarından SVG belgelerini ayrıştırmak ve işlemek mümkündür. Bu, vektör grafiklerinin diğer web teknolojileriyle entegrasyonuna izin verir. Bu eğitimde bir sayfada bir skaler vektör grafiğinin (SVG) nasıl görüneceğini inceleyeceğiz. Bir HTML sayfası, bilgileri bir HTML görüntüsü veya bir XML bildirimi biçiminde görüntüleyen bir XML lehçesine sahip olabilir. Bu makalede, HTML öğelerini eklemek ve değiştirmek için JavaScript sözdizimini HTML öğelerini eklemek ve değiştirmek için SVG sözdizimiyle karşılaştıracağız. Metodumuzu geliştirmeden önce örnek bir kullanım durumuna bakacağız. >div gibi basit bir öğe bir SVG'ye eklenebilir olmalıdır. Aşağıdaki örnekte createSVG yöntemi iki kez kullanılmıştır. JavaScript ve CSS kullanarak HTML ve CSS ile bir SVG'yi ayrıntılı bir şekilde kontrol edebiliriz. Kullandığımız document.createElementNS yöntemi iki parametreden oluşur: document.createElementNS ve document.createElementNS. İletilecek nesneyi belirtmek için kullanılan değişkenlerden biri o'dur. Sonuç olarak, büyük harfleri bulmak ve bunları tire (-) ve ardından bir küçük harfle değiştirmek için, büyük harfleri bulmak ve değiştirmek için camelCase nesnelerini ve tire sözdizimini kullanan /[AZ]/g normal ifadesini kullanırız. tire (-) ile. Öğe döndürülür döndürülmez, tek yapmamız gereken onu ek bir öğe olarak döndürmek. Javascript'te Svg: Bilmeniz Gerekenler SVG'yi JavaScript'te nasıl kullanabilirsiniz? Görüntünün her bir bileşeni, CSS ile stillendirilebilen veya JavaScript ile komut dosyası yazılabilen bir bileşen olduğundan, harika bir stil/komut dosyası aracı oluştururlar. HTML'de svgs'yi nasıl kodlarsınız? Görüntüler, svg>/svg> etiketi kullanılarak doğrudan HTML belgelerine yazılabilir. SVG görüntüsünü HTML belgenizde kullanmayı düşünüyorsanız aşağıdaki adımlar gereklidir: görüntüyü VS kodunuzda veya tercih ettiğiniz IDE'de açın, kodu kopyalayın ve gövde öğesine yapıştırın. HTML sva neden hala kullanılıyor? Biraz zaman aldı, ancak Silverlight artık tüm büyük tarayıcılarda ve cihazlarda geniş çapta destekleniyor. SVG dosyası süper küçük, aranabilir, kod aracılığıyla değiştirilebilir ve ölçeklenebilir olmasının yanı sıra süper küçük, aranabilir, değiştirilebilir ve değiştirilebilir. Bu çok yönlü cihazlar her boyutta kullanılabilir ve yalnızca resimlere veya satır içi tıklanarak HTML ile uyumludur (site oluştururken kodlama yapmak istemez). Arabanız için ücretsiz bir başlangıç ​​kiti alabilirsiniz. SVG gibi XML uygulamaları, XML Ad Alanlarının yanı sıra XML 1.0'ı kullanabilir. SVG içeriği HTML belgelerine eklendiğinde, HTML sözdizimi geçerli olabilir ve XML ile uyumlu olmayabilir. Svg Javascript Örnekleri JavaScript'i SVG ile kullanmanın birçok örneği vardır. Örneğin, bir SVG öğesinin konumunu, boyutunu veya diğer niteliklerini dinamik olarak güncellemek için JavaScript'i kullanabilirsiniz. Bir SVG öğesini canlandırmak için JavaScript'i de kullanabilirsiniz. Bir vektör grafiği, Ölçeklenebilir Vektör Grafikleri olarak bilinen bir teknik kullanılarak genişletilebilir. Genişletilebilir İşaretleme Dili (XML), vektör tabanlı grafiklere özgü bir görüntü biçimi türüdür. Bir SVG görüntüsü, CSS ve HTML'de çeşitli şekillerde kullanılabilir. Bu eğitimde altı farklı teknik öğreneceğiz. Bu derste size bir sva'yı CSS arka planı olarak nasıl kullanacağınızı göstereceğiz. Bu durumda,.htaccess dosyası, HTML belgesiyle aynı söz dizimi kullanılarak yüklenmelidir. Ancak bu durumda, daha fazla özelleştirme gerçekleştirmek için HTML yerine CSS kullanıyoruz. Bir web sitesine bir HTML HTML öğesi kullanarak da resim ekleyebilirsiniz. Ölçeklenebilir Vektör Grafiklerini (SVG) destekleyen tüm tarayıcılarda >nesne> seçeneğini kullanmak mümkündür. HTML ve CSS'de, <embedsrc=happy.svg” /> söz dizimindeki HTML öğesi bir görüntü eklemek için kullanılabilir. Modern tarayıcıların çoğu artık >tarayıcı eklentilerini desteklemediğinden >embed[/gt; genellikle iyi bir fikir değildir. Daha Kaliteli Web Grafikleri İçin Görüntüleri Svg'ye Dönüştürün SVG kodunu yazma konusunda rahat değilseniz, bir görüntüyü web tarafından erişilebilen bir biçime dönüştürmenize yardımcı olabilecek bir dizi çevrimiçi araç vardır. tarayıcı. Daha önce Chrome, Firefox ve Opera'da bulunan Canvas.js, en popüler olanlardan biridir. Javascript'te Dinamik Olarak Svg Görüntüsü Oluşturun JavaScript kullanarak, dinamik olarak bir SVG görüntüsü oluşturmak mümkündür. Bu, yeni bir XMLHttpRequest() nesnesi oluşturarak ve yanıtTürü'nü "text/xml" olarak ayarlayarak yapılabilir. Nesne oluşturulduktan sonra, harici bir SVG dosyasına bağlantı açmak için open() yöntemi kullanılabilir. Onload olayı, SVG dosyasını ayrıştıran ve bir XMLDocument nesnesi oluşturan bir geri çağırma işlevini yürütmek için kullanılabilir. Son olarak, createElementNS() yöntemi, bir SVG görüntü öğesi oluşturmak için kullanılabilir. Bu öğretici, size sva ile nasıl dinamik öğeler oluşturacağınızı öğretecektir. MDN belgeleri, http://www.w3.org/2000/svg'nin svg dosyasının söz dizimi olduğunu belirtir. Oluşturduğumuz öğenin - rect, text, circle vb. - adı nitelenmiş olmalıdır. İsteğe bağlı seçenekler parametresi alakasız olduğu için bununla ilgilenmiyoruz. Sunum nitelikleri, CSS ve satır içi stiller nelerdir? GreenSock araçlarını kullanarak nitelikler veya satır içi stilleri seçenekler olarak seçebiliriz. CSS, modern tarayıcılarda cy, cy, r vb. öznitelikleri değiştirmek için kullanılabilir. Büyük olasılıkla, mümkün olduğunca CSS özelliklerini (stil sayfası veya satır içi stili) kullanmak isteyeceksiniz. Bu makalede, HTML, CSS ve sunum niteliklerini kullanarak dinamik öğelerin nasıl oluşturulacağını ele alacağım. Bir svg'nin sahip olmasını istediğimiz dikdörtgen sayısını, genişliği ve yüksekliği belirlemek için bir değişken kullanacağız. Yazılımın SVG2 olarak adlandırılan yeni sürümünde yeni geometri özellikleri yer alacak, ancak henüz yayınlanmadıkları için onlar hakkında fazla bir şey söyleyemem. Verimliliklerini ölçebilmek için bu unsurları çalışırken görmek istiyoruz. Klip yolu aracı, bir SVG'nin kök dizinine dinamik öğeler eklemek için kullanılabilir. Bu gösteride, temel renk dairelerinin konturlu bir versiyonunu oluşturacağız ve onları bir gruba ekleyerek onları hemen ortaya çıkarmamıza izin vereceğiz. Kırpılan her dikdörtgenin arası 100'dür ve kırpıldığı dairenin altına yerleştirilecektir. Oynatma kafası ters çevrildiğinde aranın da tersine çevrilmesine neden olur. Aranın başlangıcında tıkladığımız için o noktada hiçbir şey olmuyor. Ara daha sonra animasyonlarımıza aktarılır. Sayı göstergesinin nasıl oluşturulduğunu göstermek için dalgalı bir iç döngü ve bir dış döngü kullandım. İç döngü makeLine() işlevini çağırarak beş dikey çizgi oluştururken, dış döngü makeNumber() işlevini çağırarak daha uzun onay işaretinin üzerindeki sayıyı oluşturur. Her şeyi anında ayarlamanıza olanak tanır ve vektör yazılımına geri dönmek zorunda kalmazsınız. Bir Svg Görünüm Penceresi Oluşturma Bir görüntü alanı, üzerinde bir SVG belgesinin görüntülenebileceği dikdörtgen bir alandır. Bir svg> öğesinin viewBox niteliğini dört sayıdan oluşan bir listeye ayarlayın: min-x, min-y, min-width ve min-height. Bir SVG görüntü portunun konumu ve boyutu, kullanıcı alanında tanımlanan viewBox niteliği tarafından belirlenir. viewBox niteliği dört sayıyı temsil eder: min-x, min-y, genişlik ve yükseklik. Görüntü alanı, ilk sayıda min-x ile temsil edilir. İkinci sayı, görünümün en üst konumu olan min-y'yi belirtir. Kullanıcı alanındaki görünümün genişliği, üçüncü sayı olan genişlikte tanımlanır. Dördüncü değer, yükseklik, kullanıcı alanındaki görünümün yüksekliğini tanımlar. Bir görünüm alanı, önce viewBox özniteliğine sahip bir öğe oluşturularak, ardından değeri görünümün değerlerine ayarlanarak çizilebilir. Daha sonra nesneyi çizmek için svg> öğesinin draw() yöntemini kullanabilirsiniz. Bir svg> öğesinin viewBox niteliğini dört sayıya ayarlayın: min-x, min-y, min-z ve height-x.Svg ElementsSVG öğeleri, bir HTML5 belgesine eklenebilen grafik öğelerdir. Çizgiler, şekiller ve resimler oluşturmak için kullanılabilirler ve CSS ile özelleştirilebilirler.