home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 September / PCWorld_2004-09_cd.bin / novinky / Interval / 7 / clanek03.htm < prev    next >
Encoding:
Extensible Markup Language  |  2004-08-03  |  21.8 KB  |  236 lines

  1. <?xml version='1.0' encoding='windows-1250'?>
  2. <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
  3. <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='cs' lang='cs'>
  4. <head>
  5. <meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />
  6. <meta http-equiv='Content-language' content='cs' />
  7. <meta http-equiv='Cache-control' content='no-cache' />
  8. <meta http-equiv='Pragma' content='no-cache' />
  9. <meta http-equiv='Expires' content='-1' />
  10. <meta name='robots' content='index,follow' />
  11. <meta name='googlebot' content='index,follow,snippet,noarchive' />
  12. <meta name='description' content='Interval.cz - Internetov² magazφn o webdesignu, v²voji webov²ch aplikacφ a e-komerci. VÜe podstatnΘ o technologiφch XHTML, HTML, CSS, DHTML, JavaScript, XML, .NET, ASP, PHP, Java, J2ME, SQL, WAP...' />
  13. <meta name='keywords' content='Interval' />
  14. <meta name='ICBM' content='49.1915, 16.626' />
  15. <meta name='DC.Title' content='Interval.cz' />
  16. <meta name='DC.Identifier' content='http://interval.cz' />
  17. <meta name='DC.Language' content='cs' />
  18. <meta http-equiv='pics-label' content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline EN v2.0" l gen true for "http://interval.cz" r (nz 1 vz 1 lz 1 oz 1 cz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://interval.cz" r (n 0 s 0 v 0 l 0))' />
  19. <meta http-equiv='imagetoolbar' content='no' />
  20. <meta http-equiv='MSThemeCompatible' content='no' />
  21. <meta name='MSSmartTagsPreventParsing' content='true' />
  22. <link rel='shortcut icon' type='image/x-icon' href='favicon.ico' />
  23. <link rel='alternate' type='application/rss+xml' title='RSS Interval.cz' href='http://interval.cz/__rss/rss.asp' />
  24. <link rel='home' href='http://interval.cz' />
  25. <link rel='search' href='http://interval.cz/search_ex.asp' />
  26. <link rel='stylesheet' type='text/css' media='all' href='__services/styles/html4.css' />
  27. <link rel='stylesheet' type='text/css' media='all' href='__services/styles/basic_all.css' />
  28. <link rel='stylesheet' type='text/css' media='all' href='__services/styles/homepage_all.css' />
  29. <link rel='stylesheet' type='text/css' media='all' href='__services/styles/articles_all.css' />
  30. <link rel='stylesheet' type='text/css' media='print' href='__services/styles/articles_print.css' />
  31. <title>Interval.cz - webdesign a e-komerce denn∞</title>
  32. </head>
  33. <body class='interval interval-articles'>
  34. <div id='page-header'><div id='interval-logo'><h1 title='Interval.cz - denn∞ o tvorb∞ webu a e-komerci (logo & index link)'><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz'>Interval.cz<span></span></a></h1></div><div id='advertising-page-header'></div><div class='page-maker'> </div></div>
  35. <div id='page-topmenu'><h2 class='textversion'>Navigace</h2><div id='page-mainmenu'><h3 class='textversion'>Hlavnφ menu</h3><ul><li class='first selected'><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz'>Titulnφ strana</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=14'>Webdesign</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=15'>V²voj aplikacφ</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=18'>E-komerce</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=17'>Nßstroje</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=16'>Magazφn</a></li><li class='right selected'><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.inshop.cz'>Knihkupectvφ</a></li><li class='right'><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interforum.interval.cz'>Interforum</a></li></ul></div><div id='page-mainmenu-maker'> </div></div>
  36. <div id='page-body'><div id='page-left'><div id='article'>
  37.  
  38.  
  39. <h2>Kurz SVG - struktura dokumentu, zobrazovacφ a vykreslovacφ model</h2>
  40. <p id='prepend'>V ostatnφch textech o SVG jsme si osv∞tlili historickΘ ko°eny a princip grafickΘho formßtu SVG, ukßzali jsme si jeho pozadφ, ale ne°ekli jsme nic o n∞m samΘm. Nastal Φas splatit dluhy a podφvat se do jeho "slovnφku". Jeliko₧ je formßt Scalable Vector Graphics velmi komplexnφ, zaΦneme se strukturou dokumentu, abychom m∞li pevn² zßklad.</p>
  41.  
  42. <p>Sßm za sebe mohu prohlßsit, ₧e mne doslova nadchla vnit°nφ logiΦnost a promyÜlenost ka₧dΘho detailu. Kdysi bylo na adresu HTML °eΦeno cosi v tom smyslu, ₧e jeho ·sp∞ch spoΦφvß ve schopnosti vytvß°et hypertextovΘ dokumenty minimßlnφmi prost°edky (primitivnφ textovΘ editory) s maximßlnφ mo₧nou jednoduchostφ a pr∙hlednostφ. Dovoluji si tvrdit, ₧e podobnΘ vlastnosti najdete i v jazyce SVG.</p>
  43.  
  44. <h3>Struktura SVG dokumentu</h3>
  45. <p>Ka₧d² malφ° si musφ nejd°φve p°ipravit plßtno - krom∞ nezbytnΘho zßhlavφ si ukß₧eme i dalÜφ prvky, kterΘ vßm ze zaΦßtku mo₧nß budou p°ipadat nezajφmavΘ, ale pozd∞ji, a₧ pokroΦφme od prostΘho vytvß°enφ grafick²ch tvar∙ o n∞co dßle, vßm umo₧nφ provßd∞t spoustu Üikovn²ch trik∙. P°edem vÜak upozor≥uji, ₧e se - v zßjmu p°ehlednosti a snahy uÜet°it Φtenß°e p°emφry informacφ - nejednß v ₧ßdnΘm p°φpad∞ o vyΦerpßvajφcφ popis syntaxe jazyka SVG-XML. Pro ·plnΘ informace odkazuji na plnΘ zn∞nφ normy 
  46. <a href='http://www.w3.org/TR/SVG11/'>Scalable Vector Graphics (SVG) 1.1 Specification</a>.</p>
  47.  
  48. <h4>Zßkladnφ element <code>svg</code></h4>
  49. <p>Fragment (nebo takΘ zlomek) SVG dokumentu definuje norma jako libovoln² poΦet grafick²ch prvk∙ (element∙) obsa₧en²ch v prvku <code>svg</code>. I kdy₧ se mluvφ o zlomku, obsahuje vÜechny nßle₧itosti pot°ebnΘ ke korektnφmu zobrazenφ. Fragment SVG dokumentu m∙₧e existovat jako odd∞len² samostatn² soubor (viz nßsledujφcφ p°φklad), nebo m∙₧e b²t zabudovßn uvnit° jinΘho rodiΦovskΘho XML dokumentu (embedded inline).</p>
  50.  
  51. <div class='sample'>
  52. <?xml version="1.0" standalone="no"?>
  53. <br /><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  54. <br />  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  55. <br /><svg width="5cm" height="4cm" version="1.1"
  56. <br />     xmlns="http://www.w3.org/2000/svg">
  57. <br />  <title>Samostatny SVG soubor</title>
  58. <br />  <rect x="0.5cm" y="0.5cm" width="2cm" height="1cm"/>
  59. <br />  <rect x="0.5cm" y="2cm" width="1cm" height="1.5cm"/>
  60. <br />  <rect x="3cm" y="0.5cm" width="1.5cm" height="2cm"/>
  61. <br />  <rect x="3.5cm" y="3cm" width="1cm" height="0.5cm"/>
  62. <br />  <!-- obrys kreslici plochy -->
  63. <br />  <rect x=".01cm" y=".01cm" width="4.98cm" height="3.98cm"
  64. <br />        fill="none" stroke="blue" stroke-width=".02cm" />
  65. <br /></svg>
  66. </div>
  67.  
  68. <div class='image'>
  69. <img src='podklady/hejral/868/011.png' alt='Zobrazenφ SVG fragmentu - zßkladnφ struktury vÜech SVG obrßzk∙' title='Zobrazenφ SVG fragmentu - zßkladnφ struktury vÜech SVG obrßzk∙' />
  70. <br /><span class='comment'>Zobrazenφ SVG fragmentu - zßkladnφ struktury vÜech SVG obrßzk∙ (<a href='podklady/hejral/868/011.svg'>originßlnφ SVG, cca 1 kB</a>)</span>
  71. </div>
  72.  
  73. <p>Elementy <code>svg</code> se mohou objevit i uvnit° jin²ch SVG fragment∙, jin²mi slovy, je mo₧nΘ jejich vφcenßsobnΘ vno°ovßnφ. Lze toho vyu₧φt nap°φklad k nastavenφ vlastnφho sou°adnicovΘho systΘmu pro ·sek vno°enΘho k≤du.</p>
  74. <p><strong>Jednotky</strong>: PovÜimn∞te si prosφm, ₧e m∙₧ete pou₧φvat v podstat∞ libovolnΘ jednotky - zcela stejn∞, jako v <acronym title='Cascading Style Sheets'>CSS</acronym>, tedy px, mm, cm, pt, em...</p>
  75. <p><strong>Atributy</strong>:</p>
  76.  
  77. <div class='list'>
  78. <ul>
  79. <li><em>x</em>, <em>y</em> (sou°adnice) - tyto atributy znamenajφ p°esn∞ to, co vyjad°uje jejich nßzev (poΦßtek sou°adnic v levΘm hornφm rohu), vcelku logicky nemajφ v²znam pro vn∞jÜφ <code>svg</code> fragment</li>
  80. <li><em>width</em> (dΘlka) - Üφ°ka kreslicφho plßtna; pokud nenφ definovßna, pou₧ije prohlφ₧eΦ hodnotu 100 % (v²chozφ nebo tΘ₧ default hodnota)</li>
  81. <li><em>height</em> (dΘlka) - v²Üka kreslicφho plßtna; pokud nenφ definovßna, pou₧ije prohlφ₧eΦ hodnotu 100 % (v²chozφ nebo tΘ₧ default hodnota)</li>
  82. <li><em>viewBox</em> (x y Üφ°ka v²Üka) - atributy umo₧≥ujφ zm∞nit sou°adnicov² systΘm uvnit° SVG fragmentu takto: x, y nastavφ poΦßtek virtußlnφch sou°adnic (vlevo naho°e) uvnit° SVG fragmentu, Üφ°ka a v²Üka pak urΦujφ rozsah virtußlnφch sou°adnic (ideßlnφ nap°φklad pro "napasovßnφ" grafiky do obdΘlnφku o rozm∞rech, kterΘ p°edem nejsou znßmΘ - v²born² prost°edek k vytvß°enφ grafiky p°izp∙sobujφcφ se velikosti okna prohlφ₧eΦe!); takov² virtußlnφ sou°adnicov² systΘm lze vytvo°it tΘ₧ uvnit° element∙ <code>symbol</code> a <code>image</code> (aplikuje-li se v SVG fragmentu tento atribut, pak se dalÜφ rozm∞rovΘ ·daje v rßmci tohoto bloku u₧ v∞tÜinou zapisujφ bez jednotek, jak si ostatn∞ m∙₧ete povÜimnout i v dalÜφch ukßzkßch SVG dokument∙)</li>
  83. <li><em>preserveAspectRatio</em> (typ_p°izp∙sobenφ_rozm∞r∙) - pou₧itφm "viewBox" m∙₧e dojφt i k neproporcionßlnφ deformaci, proto mßte k dispozici tento parametr, kter²m m∙₧ete nastavit chovßnφ prohlφ₧eΦe: "none" umo₧nφ deformaci sou°adnic a hodnota, nap°φklad "xMidYMid", p°izp∙sobφ grafiku proporcionßln∞, tak, aby byla vid∞t celß, a navφc ji vycentruje v obou sm∞rech (toto je v²chozφ a ve v∞tÜin∞ p°φpad∙ takΘ nejvhodn∞jÜφ hodnota)</li>
  84. </ul>
  85. </div>
  86.  
  87. <p>Nßsledujφcφ p°φklad ukazuje, jak m∙₧ete umφstit grafiku, kterß se p°izp∙sobφ velikosti obrazovky, tak₧e ji u₧ivatel uvidφ zcela sprßvn∞ i na svΘm mobilu, kter² m∙₧e mφt obraz Üirok² °ekn∞me 240 a vysok² 320 pixel∙. Viditelnß kresba v tomto p°φpad∞ musφ samoz°ejm∞ obsahovat body s virtußlnφmi sou°adnicemi 0 a₧ 100 (grafik si je m∙₧e snadno p°edstavit jako procenta z celkovΘ velikosti plßtna).</p>
  88.  
  89. <div class='sample'>
  90. <svg viewBox="0 0 100 100" version="1.1"
  91. <br />     xmlns="http://www.w3.org/2000/svg">
  92. </div>
  93.  
  94. <p>V nßsledujφcφm p°φpad∞ se identickß kresba naopak zdeformuje tak, aby zcela pokryla plochu virtußlnφho okna s pevnou velikostφ 240 x 320 obrazov²ch bod∙:</p>
  95.  
  96. <div class='sample'>
  97. <svg width="240px" height="320px" version="1.1"
  98. <br />     viewBox="0 0 100 100" preserveAspectRatio="none"
  99. <br />     xmlns="http://www.w3.org/2000/svg">
  100. </div>
  101.  
  102. <h4>Seskupenφ - prvek <code>g</code></h4>
  103. <p>Element <code>g</code> m∙₧e slou₧it jako schrßnka (container) pro skupinu vno°en²ch objekt∙. Siln∞ se doporuΦuje jeho pou₧itφ ve spojenφ s elementy <code>desc</code> a <code>title</code>, k vytvo°enφ strukturovanΘho a dob°e zdokumentovanΘho grafickΘho dokumentu. Co₧, mimo jinΘ, umo₧nφ zp°φstupnit takovΘ dokumenty i handicapovan²m osobßm (specializovan² prohlφ₧eΦ by nap°φklad mohl navigovat "hlasem"), ale m∙₧e se velmi dob°e uplatnit t°eba i p°i popisu geografick²ch objekt∙ na SVG map∞ a podobn∞.</p>
  104. <p>Pomocφ d∙v∞rn∞ znßmΘho atributu <code>id</code> se na grafickΘ elementy m∙₧ete odkazovat, nap°φklad pro pot°eby deklarativnφch animacφ nebo skriptovßnφ.</p>
  105.  
  106. <h4>Knihovnφ sekce - prvek <code>defs</code></h4>
  107. <p>Kontejnerov² prvek <code>defs</code> pro elementy, na kterΘ se budeme pozd∞ji odkazovat. Jeho pou₧itφ nenφ striktn∞ vy₧adovßno, ale siln∞ se doporuΦuje. Jeho chovßnφ a funkce je obdobnß prvku <code>g</code>.</p>
  108. <p>P°edstavte si nap°φklad prvek "P", kter² se odkazuje na n∞jak² p°eddefinovan² knihovnφ objekt "K" - pokud knihovnu s prvkem "K" dßte do sekce <code>defs</code>, kterß bude umφst∞na ihned na poΦßtku rodiΦovskΘho prvku elementu "P", umo₧nφte tφm prohlφ₧eΦi efektivn∞jÜφ streamovßnφ.</p>
  109.  
  110. <h4>Knihovnφ objekt - prvek <code>symbol</code></h4>
  111. <p>Prvek <code>symbol</code> definuje elementy pro vφcenßsobnΘ pou₧itφ (tΘ₧  knihovnφ prvky nebo prost∞ symboly), kterΘ jsou jednoznaΦn∞ identifikovßny dob°e znßm²m atributem <samp>id="jmeno_symbolu"</samp>. P°eddefinovan² prvek lze pozd∞ji  mnohonßsobn∞ vklßdat do kresby pomocφ elementu <code>use</code>.</p>
  112. <p>Ze strukturnφho hlediska je <code>symbol</code> podobn² objektu <code>g</code> s nßsledujφcφmi zßsadnφmi rozdφly:</p>
  113.  
  114. <div class='list'>
  115. <ul>
  116. <li><code>symbol</code> sßm o sob∞ se nikdy nevykreslφ, pouze jeho instance (tedy odkazy s pou₧itφm prvku <code>use</code>)</li>
  117. <li><code>symbol</code> mß (v²Üe popsanΘ) atributy <code>viewBox</code> a <code>preserveAspectRatio</code></li>
  118. <li><code>symbol</code> lze pou₧φvat v r∙zn²ch velikostech pomocφ atribut∙ (x, y, width, height) v prvku <code>use</code></li>
  119. </ul>
  120. </div>
  121.  
  122. <h4>Pou₧itφ objektu z knihovny - <code>use</code></h4>
  123. <p>Element <code>use</code> odkazuje na knihovnφ prvek (<code>symbol</code>), kter² se zobrazφ na mφst∞ grafickΘ struktury, kde byl prvek <code>use</code> pou₧it. Vznikne jakßsi virtußlnφ kopie p°φsluÜnΘho prvku <code>symbol</code>, kterß se ale neobjevφ ve struktu°e SVG DOM, tam z∙stßvß pouze samotn² objekt <code>use</code>!</p>
  124. <p><strong>Atributy</strong>:</p>
  125.  
  126. <div class='list'>
  127. <ul>
  128. <li><code>xlink:href</code> - URI reference na  symbol (knihovnφ objekt)</li>
  129. <li><code>x</code>, <code>y</code> - poloha</li>
  130. <li><code>width</code>, <code>height</code> - Üφ°ka a v²Üka; tyto nepovinnΘ atributy jsou pou₧ity ke zm∞n∞ velikosti vklßdanΘho symbolu</li>
  131. </ul>
  132. </div>
  133.  
  134. <p>Pozor, animujete-li knihovnφ objekt (<code>symbol</code>), vÜechny jeho instance by p°i sprßvnΘ implementaci m∞ly z∙stat animovanΘ! (Ideßlnφ p°φle₧itost pro kreativce a dokonal² "prubφ°sk² kßmen" pro prohlφ₧eΦe...)</p>
  135.  
  136. <h4>Obrßzek - element <code>image</code></h4>
  137. <p>Prvek <code>image</code> pro vlo₧enφ obrßzku do tΘto kapitoly zdßnliv∞ nepat°φ, jen₧e podle SVG normy m∙₧ete do grafickΘho obsahu vlo₧it nejen PNG, JPEG ale i dalÜφ SVG soubor (v tomto p°φpad∞ jsou animace ignorovßny). Vzhledem ke komplexnosti takovΘ ·lohy se urΦit∞ jednß o dalÜφ v²bornou p°φle₧itost k testovßnφ prohlφ₧eΦ∙ - pou₧φvejte velmi opatrn∞. V norm∞ nenφ zmφn∞n formßt GIF, ale jistΘ je, ₧e minimßln∞ ASV (Adobe SVG Viewer, viz <a href='http://interval.cz/clanek.asp?article=2564' title='Hejral, Martin: Pr∙vodce SVG - grafickΘ editory'>Pr∙vodce SVG - grafickΘ editory</a>) jej ve statickΘ podob∞ podporuje vΦetn∞ pr∙hlednosti.</p>
  138. <p><strong>Atributy</strong>:</p>
  139.  
  140. <div class='list'>
  141. <ul>
  142. <li><code>x</code>, <code>y</code> (sou°adnice) - umφst∞nφ</li>
  143. <li><code>width</code> (dΘlka) - Üφ°ka</li>
  144. <li><code>height</code> (dΘlka) - v²Üka</li>
  145. <li><code>preserveAspectRatio</code> (typ_p°izp∙sobenφ_rozm∞r∙) - vklßdan² obraz m∙₧e mφt jinΘ proporce, tφmto parametrem lze nastavit jeho rozm∞rovΘ p°izp∙sobenφ: "defer" znamenß pou₧itφ hodnoty "preserveAspectRatio" z vklßdanΘho SVG, "none" umo₧nφ deformaci obrazu, v²chozφ hodnota "xMidYMid" p°izp∙sobφ grafiku proporcionßln∞, tak, aby byla vid∞t celß, a navφc ji vycentruje v obou sm∞rech</li>
  146. </ul>
  147. </div>
  148.  
  149. <p>P°i vklßdßnφ SVG se stejnojmennΘ parametry externφho <code>svg</code> elementu ignorujφ a ty v elementu <code>image</code> dostßvajφ p°ednost.</p>
  150. <p>V²sledkem naΦtenφ a zpracovßnφ obrßzku je v₧dy barevn² model RGBA (Φtvrt² kanßl pro pr∙hlednost), kter² je standardnφm internφm modelem v SVG.</p>
  151.  
  152. <h3>Zobrazovacφ a vykreslovacφ model</h3>
  153. <p>SVG pou₧φvß takzvan² "malφ°∙v algoritmus" (<strong>painters model</strong>). P°edstavu o poΦφtaΦovΘm provedenφ si lze vytvo°it snadno, staΦφ si uv∞domit, ₧e prvky z fragmentu SVG se vykreslujφ v p°irozenΘm po°adφ, tak jak jsou v XML dokumentu za sebou (to znamenß, ₧e prvnφ objekt bude opticky vespod, v pozadφ - pozd∞jÜφ prvky jej p°ekr²vajφ).</p>
  154. <p>VÜichni u₧ vφme, ₧e SVG zdaleka nejsou jen vektorovΘ tvary v kombinaci s obrßzky, jeho mo₧nosti jdou jeÜt∞ o t°φdu dßl. Aby mohly prohlφ₧eΦe sprßvn∞ vytvo°it vÜechny specißlnφ efekty, m∞ly by aktußlnφ element (p°φpadn∞ celou skupinu element∙) vykreslit nejd°φve v pomocnΘm bloku pam∞ti.</p>
  155. <p>M∞jte tΘ₧ stßle na pam∞ti, ₧e se v₧dy pracuje v modelu RGBA - tedy RGB barvy plus takzvan² "alfa kanßl" pro ulo₧enφ pr∙hlednosti ka₧dΘho bodu. To je nutnΘ nejen kv∙li neomezen²m mo₧nostem maskovßnφ v norm∞ SVG, ale i pro implementaci efekt∙ (<strong>SVG filters</strong>). Filtry jsou toti₧ aplikovßny prßv∞ na tuto pomocnou pam∞¥. Obrovskou pru₧nost a kreativitu znßsobuje fakt, ₧e filtry m∙₧ete aplikovat nejen na kresbu, ale t°eba i na kanßl s pr∙hlednostφ.</p>
  156. <p>Norma SVG explicitn∞ na°izuje prohlφ₧eΦ∙m pou₧itφ pomocnΘ obrazovΘ pam∞ti pro prvek <code>g</code>. (Obsah bufferu je p°itom inicializovßn na pr∙hlednou Φernou barvu.) A₧ po kompletnφm vykreslenφ vÜech objekt∙ ve skupin∞ se na toto pomocnΘ "plßtno" aplikujφ r∙znΘ efekty, a to p°esn∞ v nßsledujφcφm po°adφ:</p>
  157.  
  158. <div class='list'>
  159. <ol>
  160. <li>bitmapovΘ filtry</li>
  161. <li>masky</li>
  162. <li>pr∙hlednost</li>
  163. </ol>
  164. </div>
  165.  
  166. <p>Prohlφ₧eΦe majφ ztφ₧enou ·lohu tφm, ₧e <code>g</code> m∙₧e b²t vno°eno mnohonßsobn∞. Zd∙raz≥uji tento d∙le₧it² moment, jeliko₧ jde o zßkladnφ princip v SVG a je nutnΘ, abyste jej m∞li v₧dy na pam∞ti.</p>
  167.  
  168. <h4>Pravidla vykreslovßnφ objektu</h4>
  169. <p>Nejd°φve se vykresluje v²pl≥, potΘ tah a nakonec p°φpadnΘ znaΦky (specißlnφ prvek SVG normy urΦen² pro vyznaΦovßnφ bod∙ ve kresb∞). Ka₧dß v²pl≥ a tah m∙₧e p°itom mφt libovolnou na sob∞ nezßvislou pr∙hlednost.</p>
  170. <p>Podporovßny jsou nßsledujφcφ typy vypl≥ovßnφ pou₧itelnΘ pro v²pln∞ i tahy:</p>
  171.  
  172. <div class='list'>
  173. <ul>
  174. <li>plnΘ barvy</li>
  175. <li>p°echody barev lineßrnφ a kruhovΘ</li>
  176. <li>vzorky (textury)</li>
  177. </ul>
  178. </div>
  179.  
  180.  
  181.  
  182. <div id='article-author'>
  183. <a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/autor.asp?author=187'>Hejral, Martin</a> (7. 7. 2004)
  184.  
  185. </div>
  186.  
  187.  
  188. </div></div>
  189. <div id='page-right'><h2 class='textversion'>Prav² sloupek</h2>
  190. <div id='search'><h3 class='textversion'>Vyhledßvßnφ</h3><form method='get' action='http://interval.cz/search.asp'><div><input type='text' name='hledej' class='text' /><input type='submit' class='submit' value='Najdi!' /></div></form><div><a href='http://interval.cz/search_ex.asp'>RozÜφ°enΘ vyhledßvßnφ</a></div></div>
  191.  
  192.  
  193.  
  194. <div class='page-right-box book'>
  195.     <h3>Kni₧nφ novinka</h3>
  196.     <div class='page-right-box-in'>
  197.         <div class='book-top'>
  198.             <h4><a href='http://interval.cz/__redirect/redirect.asp?what=interval_booknews&url=http://interval.inshop.cz/inshop/scripts/detail.asp?ItemID=269'>Optimalizace pro vyhledßvaΦe - SEO</a></h4>
  199.         </div>
  200.     </div>
  201.     <div class='image'>
  202.         <img src='podklady/knihy/image.jpg' alt='obßlka' title='obßlka' /></a>
  203.     </div>
  204.     <div class='book-bottom'>Cena: <span class='book-price-old'>169 KΦ</span> <span class='book-price-new'>152 KΦ</span></div>
  205. </div>
  206.  
  207.  
  208.  
  209. <div class='page-right-box reading'>
  210.     <h3>NejΦten∞jÜφ</h3>
  211.     <div class='page-right-box-in'>
  212.         <ul>
  213. <li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3476'>Kurz SVG - vypl≥ovßnφ I</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3479'>PPWizard - pokroΦilß makra, podmφnky a standardnφ definice</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3478'>Transformace dat z databßze pomocφ XSL v .NET jednoduÜe</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3481'>Strßnkovßnφ v ovlßdacφm prvku DataGrid bez pou₧itφ PostBack</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3477'>Zpracovßnφ databßzov²ch dat p°es XSLT v ASP</a></li>
  214.         </ul>
  215.     </div>
  216. </div>
  217.  
  218.  
  219.  
  220. <div class='page-right-box cauldron'>
  221.     <h3>Diskuznφ kotel</h3>
  222.     <div class='page-right-box-in'>
  223.         <ul>
  224. <li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3473' title='(25 komentß°∙)'>Sedφm na konßri a Φtu Computerworld</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3468' title='(23 komentß°∙)'>PPWizard - tvo°φme a spravujeme WWW strßnky</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3474' title='(22 komentß°∙)'>PφÜeme pro web - o sφle slov</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3464' title='(15 komentß°∙)'>Kurz SVG - grafickß primitiva</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3472' title='(10 komentß°∙)'>Cryptography v .NET - Symmetric a Asymmetric encryption</a></li>
  225.         </ul>
  226.     </div>
  227. </div>
  228.  
  229.  
  230.  
  231. <div class='page-right-box emailserv'><h3>Email servis</h3><div class='page-right-box-in'><form action='prihlaseni.asp' method='post'><div class='shell'><input class='text' type='text' name='adresa' /></div><div class='shell'><input class='radio' type='radio' value='1' name='co' checked='checked' />T²dennφ p°ehled Φlßnk∙</div><div class='shell'><input class='radio' type='radio' value='2' name='co' />HELP konference</div><div class='shell'><input class='submit' type='submit' value='P°ihlßsit' /></div></form></div></div>
  232. </div>
  233. <div class='page-maker'> </div><div class='page-maker-white'> </div></div>
  234. <div id='page-foot'><div id='page-foot-menu'><a href='http://interval.cz/reklama.asp'>Inzerce na Interval.cz</a> | <a href='http://interval.cz/redakce.asp'>Redakce Interval.cz</a> | <a href='http://interval.cz/autori.asp'>Hledßme novΘ autory</a></div><div id='issn'>ISSN 1212-8651</div><div id='page-foot-zoner'>© Zoner software, s.r.o., vÜechna prßva vyhrazena, tento server dodr₧uje <a href='http://interval.cz/privacy.asp'>prßvnφ p°edpisy</a>o ochran∞ osobnφch ·daj∙.</div></div>
  235. </body>
  236. </html>