SVG – Learning by Coding
1: <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
2: <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
3: "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
4: <!ATTLIST svg xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">
5: ]>
6:
7: <!-- SVG - Learning by Coding - http://www.datenverdrahten.de/svglbc/ -->
8: <!-- Author: Dr. Thomas Meinike 05/03 - thomas@handmadecode.de -->
9:
10: <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
11: onload="getSVGDoc(evt)">
12:
13: <title>SVG - Learning by Coding</title>
14: <desc>SVG-Spezifikation in Beispielen</desc>
15:
16: <defs>
17:
18: <script type="text/javascript">
19: <![CDATA[
20:
21: var svgdoc;
22:
23:
24: function getSVGDoc(load_evt)
25: {
26: svgdoc=load_evt.target.ownerDocument;
27: }
28:
29:
30: function PathInfo()
31: {
32: var pfadobj,punktobj,punkt_x,punkt_y,punktaufpfad;
33:
34: // Pfadinformationen ermitteln
35: pfadobj=svgdoc.getElementById("testpfad");
36: alert("Pfadlaenge in Pixel:\n"+pfadobj.getTotalLength());
37: punktobj=pfadobj.getPointAtLength(333);
38: punkt_x=punktobj.x;
39: punkt_y=punktobj.y;
40:
41: // gruenen Punkt auf den Pfad setzen
42: punktaufpfad=svgdoc.getElementById("pkt");
43: punktaufpfad.setAttribute("cx",punkt_x);
44: punktaufpfad.setAttribute("cy",punkt_y);
45: punktaufpfad.style.setProperty("visibility","visible","");
46:
47: // Informationen ausgegeben
48: alert("Punktkoordinaten bei Pfadlaenge 333 Pixel:\
49: nx="+punkt_x+"ny="+punkt_y);
50: }
51:
52: ]]>
53: </script>
54:
55: </defs>
56:
57: <text x="20" y="30" style="fill: #000; font-size: 24px">
58: path-Element: getTotalLength() und getPointAtLength()</text>
59:
60: <a xlink:href="" cursor="pointer" onclick="return false">
61: <text x="100" y="205" style="fill: #00C; font-size: 16px"
62: onclick="PathInfo()">PathInfo()
63: <set attributeName="fill" attributeType="CSS" to="#F00" begin="mouseover"/>
64: <set attributeName="fill" attributeType="CSS" to="#00C" begin="mouseout"/>
65: </text>
66: </a>
67:
68: <path id="testpfad" d="M 100,100 L 200,100 L 200,200 L 200,300 L 300,300 Z"
69: style="stroke: #F00; stroke-width: 1px; fill: none"/>
70:
71: <circle id="pkt" cx="0" cy="0" r="2" style="fill: #090; visibility: hidden"/>
72:
73: </svg>
[zum Anfang]