Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 15140|Válasz: 0

SVG út/Glif D attribút részletesen elmagyarázva

[Linket másol]
Közzétéve 2018. 05. 04. 11:29:47 | | | |


Ez a tulajdonság egy útvonalat határoz meg.

használat

Kategória út definíció attribútumok

érték

Változékonyság Igen
Specifikáció Dokumentáció SVG 1.1 (2. kiadás)
A d tulajdonság valójában egy sorozat, amely egy sor útleírást tartalmaz. Ezek az utak a következő utasításokból állnak:

  • Áthelyezés
  • Lineto
  • Curveto
  • Arcto
  • ClosePath


Ezeket egy húrban egyesítik. Ezek a parancsok kis- és kis- arc-érzékenyek; A nagybetűs parancs azt jelzi, hogy paraméterei abszolút pozíciók, míg a kisbetűs parancsok pontot jelölnek az aktuális pozícióhoz képest. A parancs paramétereként negatív érték is megadható: a negatív szög az óramutató járásával ellentétes irányban történik, az abszolút x és y pozíciók pedig negatív koordinátáknak számítanak. A negatív relatív x érték balra mozdul, míg a negatív relatív y érték felfelé halad.

Áthelyezés

A Moveto parancsot úgy lehet felvenni, mint egy rajztollat felvenni és egy másik helyre érkezni. Az előző pont és a kijelölt pont között nincs vonalszakasz. Jó ötlet egy Moveto parancsgal indítani az útvonalat, mert inicializált Moveto nélkül a kezdőpont ott lesz, ahol az előző művelet történt, ami határozatlan viselkedéshez vezethet.

Szintaxis:

Az M x,y itt x és y abszolút koordináták, amelyek vízszintes és függőleges koordinátákat képviselnek.
m dx, dy itt dx és dy a jelenlegi ponthoz képest a távolságok, jobbra és lefelé, rendre a távolságok.
Példa:

Abszolút helyzetben x=50, y= 100:<út d="M50,100..." />
Mozogj 50-et jobbra, 100-at lefelé: <út d="m50,100..." />

Lineto

A Moveto parancstól eltérően a Lineto parancs egyenes szegmenset rajzol. Ez az egyenes vonal szakasz a jelenlegi pozícióból a megadott pozícióba mozog. A natív Lineto parancs szintaxisa "L x, y" vagy "l dx, dy", ahol x és y abszolút koordináták, a dx és dy pedig a jobb és lefelé lévő távolságok. Vannak még az H és V betűk is, amelyek vízszintes és függőleges mozgásokat jelölnek. Ugyanaz a szintaxis, mint az L, és a kisbetűs változatuk relatív távolság, a nagybetűs verzió pedig abszolút pozíció.

Curveto

A Curvto parancs egy Bézier-görbét jelöl meg. Kétféle Bézier-görbe létezik: köbös és kvadratikus görbe. A kvadratikus Bézier-görbe egy speciális köbös Bézier-görbe, ahol a vezérlőpont két vége ugyanaz. A négyzetes Bézier-görbe szintaxisa a "Q cx, cy x, y" vagy "q dcx, dcy dx, dy". A Cx és a Cy mindkettő abszolút koordinátái az ellenőrzőpontoknak, míg a DCX és a DCY az X és Y irányú irányítópontok távolságai.

A köbös Bézier-görbe ugyanazt a koncepciót követi, mint a kvadratikus Bézier-görbe, de két kontrollpontot kell figyelembe vennie. A köbös Bézier-görbe szintaxisa a következő: "C c1x, c1y c2x, c2y x, y" vagy "c dc1x, dc1y dc2x, dc2y dx, dy", ahol c1x, c1y és c2x, c2y a kezdő és végpont irányítópontjának abszolút koordinátái. A DC1X, DC1Y és DC2X, DC2Y a kiindulóponthoz viszonyítva vannak, nem a végponthoz. A DX és a DY a jobb és lefelé lévő távolságok, rendben.

A sima Bézier-görbék összekötéséhez használhatod a T és S parancsokat is. Szintaxisuk egyszerűbb, mint más Curveto parancsok, mert feltételezi, hogy az első vezérlőpont az előző vezérlőpont visszatükröződése az előzőn, vagy hogy valójában az előző pont, ha nincs korábbi vezérlőpont. A T szintaxisa "T x,y" vagy "t dx,dy", amely abszolút koordinátáknak és relatív távolságoknak felel meg, és egy kvadratikus Bézier-görbe létrehozására szolgál. Az S segítségével egy köbös Bézier-görbét készítenek, a szintaxis "S cx, cy x, y" vagy "s dcx, dcy dx, dy", ahol (d)cx a második vezérlőpontot jelöli.

Végül az összes Bézier-görbe parancs többoldalú Bézier-gráfot tud létrehozni, először inicializálni a parancsot, majd többször megadni az összes paramétert, hogy többoldalú Bézier-gráfot hozzon létre. Ezért a következő két parancs pontosan ugyanazt az utat hozhatja létre:


Arcto

Néha egyszerűbb egy elliptikus ívív görbe út leírása, mint egy Bézier-görbe út. A nap végén az út elem támogatja az Arcto parancsot. Az ív középpontját más változók számítják ki. Az arcto deklaráció viszonylag ismétlődik a Visual Studio-ból: "A rx, ry xAxisRotate LargeArcFlag, SweepFlag x, y". Dekonstrukció alapján az rx és a ry az x és y irányok sugarai, és a LargeArcFlag értéke 0 vagy 1, hogy meghatározzuk, hogy kis ívet (0) vagy nagy ívet (1) rajzoljanak. A SweepFlag vagy 0 vagy 1, amelyet arra használnak, hogy meghatározzák, hogy az ív az óramutató járásával megegyező irányban (1) vagy az ellentétes irányban (0). x és y a célállomás koordinátái. Bár az xAxisRotate támogatja az x-tengely orientációjának megváltoztatását a jelenlegi referencia kerethez képest, ez a paraméter nem tűnik nagy hatást nyújtónak a Gecko 7-ben.

ClosePath

A ClosePath parancs egyszerűen egyenes vonalat rajzol a jelenlegi ponttól az aktuális út első pontjáig. Ez a legegyszerűbb parancs, és nem tartalmaz semmilyen paramétert. A legrövidebb lineáris útvonalat követi a kezdőpontig, és ha más útvonalak is ezen az úton esnek, a lehetséges útvonalak kereszteznek. A szintaxis "Z" vagy "z", és mindkét írásmód ugyanazt a funkciót látja el.

elem

A következő elemek használhatják a d attribútumot:

  • <path>
  • <glyph>


Ugyanezek a szabályok <animate>alkalmazhatók az animációs útvonalakra is.

Emlékeztető

Az origó (koordináta-rendszer 0,0 pont) gyakran a kontextus bal felső sarka. Az <glyph>elem eredete azonban a levéldoboz bal alsó sarkában rejlik.

Vessző bármely két szám között megengedett, de máshol nem.

példa

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
             viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="megőrzés">
    <path fill="#F7931E" d="M37,17v15H14V17H37z M50,0H0v50h50V0z"/>
</svg>

Annak bemutatására, hogy valójában mit jelent d="M37,17v15H14V17H37z M50,0H0v50h50V0z", beszéljünk meg ennek a láncsornak minden albekezdését.

d=" M37,17 || v15 || H14 || V17 || H37 || z // M50,0 || H0 || v50 || h50 || V0 || z"


d=
Ez a tulajdonság tartalmazza azokat a stringeket, amelyek az egész SVG-t alkotják.
M37,17
Az M a MoveTo rövidítése. A nagybetűs "M" abszolút koordinátákat jelent, a kisbetűs "m" pedig relatív távolságot. Ez azt jelenti, hogy a kezdőkoordinátákon alapul, a vonal a dobozban van, és a doboz tetején lévő téglalap jobb felső sarkában kezded.
A 37 a kezdő svg pozíció rövidítése, amely 37 pixelen van az X-tengelyen.
17 Indítsd az svg pozíciót, 17 pixelnél az y-tengelyen.
v15
V a függőleges jelentése. A nagybetűs V az abszolút koordinátákat, a kisbetűs V pedig a relatív hosszúságot és távolságot. a dx/dy és x/y használhatók a H/V és h/v megfelelő pozícióiban.
Itt egy adott koordinátához képest 15 pixeles függőleges vonalat rajzolnak. Ez azt jelenti, hogy 15 pixelt rajzolsz le a 37, 32-es koordinátákig.
H14
H a szintet jelenti, ami abszolút koordináták, mert nagybetűvel van írva.
A v15 végétől rajzolj egy vízszintes vonalat, amíg elérjük az abszolút koordinátát 14-et, és a vonalrajzolást akkor fejezzük be, amikor eléri az x-koordináta 14-et. A vonalak koordinátáin 14, 32 helyezkednek el.
V17
Mint korábban, kezdd az előző vonal végétől, és húzz egy függőleges vonalat, amíg el nem éred az y tengely koordinátáját a 17-et. A vonalak koordinátáin helyezkednek el a 14, 17.
H37
Végül, 14,17-től kezdve, húzz egy vízszintes vonalat, amíg el nem éred az x-tengely koordinátát 37-et. A vonal koordinátáin 37,17 (M érték) helyezkedik el
z
A kis- és nagybetűs Z betűk egy SVG szegmenssorozatot zárnak.
,
Egy vessző kezdi a következő egyszerű vektorgrafikus szegmenssorozatot. A következő egyszerű vektorvonal szegmensek alkotják a külső dobozt.
M50,0
Kezdjük az x-tengely 50-es és az y tengely 0-nál.
H0
Húzz egyenes vonalat (0,0)-ig.
v50
Rajzolj egy függőleges vonalat 0,0 pixeles 50-hez képest. Ezt a vonalat (0,50) értékre húzzuk.
h50
Rajzolj egy vízszintes vonalat 50 pixeles (0,-50) értékhez képest. Ez a vonal jobbra húzódik (50,50) irányba.
V0
Húzz egy függőleges vonalat, amíg el nem érted az y tengely koordinátátáját 0-nál. Ez egyenesként (50,0) vonalat húz, ami az M értéke.
z
A kis- és nagybetűs Z betűk egy SVG szegmenssorozatot zárnak.

Csatolja a kódot:


Végül a dokumentumhoz tartozó link a csatolt: https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute/d





Előző:Blockchain alkalmazásfejlesztési útmutató
Következő:.net/c# Quartz.NET Távoli feladatütemezés [forráskóddal]
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com