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 12/02 - thomas@handmadecode.de -->
9:
10: <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
11:
12: <title>SVG - Learning by Coding</title>
13: <desc>SVG-Spezifikation in Beispielen</desc>
14:
15: <defs>
16:
17: <style type="text/css">
18: <![CDATA[
19:
20: *
21: {
22: font-family: sans-serif;
23: font-size: 12px;
24: }
25:
26: ]]>
27: </style>
28:
29:
30: <script type="text/javascript">
31: <![CDATA[
32:
33: function getMatrix(click_evt)
34: {
35: var objekt,trans,matrix,a,b,c,d,e,f,ausgabe;
36:
37: objekt=click_evt.target;
38: trans=objekt.getAttribute("transform");
39:
40: matrix=objekt.getCTM();
41: a=matrix.a;
42: b=matrix.b;
43: c=matrix.c;
44: d=matrix.d;
45: e=matrix.e;
46: f=matrix.f;
47:
48: ausgabe="transform=\""+trans+"\"\ngetCTM()=\"";
49: ausgabe+="matrix("+a+","+b+","+c+","+d+","+e+","+f+")\"";
50: alert(ausgabe);
51: }
52:
53: ]]>
54: </script>
55:
56: </defs>
57:
58: <text x="20" y="30" style="fill: #000; font-size: 24px">
59: Transformationen (translate | rotate | scale | skewX | skewY)
60: </text>
61:
62: <rect transform="translate(270,100)" x="50" y="80" width="150" height="75"
63: style="fill: #FFC; stroke: #F00; stroke-width: 1.5px" onclick="getMatrix(evt)"/>
64:
65: <rect transform="rotate(90,70,300)" x="50" y="80" width="150" height="75"
66: style="fill: #FFC; stroke: #F00; stroke-width: 1.5px" onclick="getMatrix(evt)"/>
67:
68: <rect transform="scale(0.75,0.5)" x="50" y="80" width="150" height="75"
69: style="fill: #FFC; stroke: #F00; stroke-width: 1.5px" onclick="getMatrix(evt)"/>
70:
71: <rect transform="skewX(30)" x="50" y="100" width="150" height="75"
72: style="fill: #FFC; stroke: #F00; stroke-width: 1.5px" onclick="getMatrix(evt)"/>
73:
74: <rect transform="skewY(45)" x="50" y="80" width="150" height="75"
75: style="fill: #FFC; stroke: #F00; stroke-width: 1.5px" onclick="getMatrix(evt)"/>
76:
77: <text x="220" y="65">Dieses Beispiel wurde auch mittels <tspan style="fill: #00C">
78: matrix()</tspan> umgesetzt:</text>
79: <a xlink:href="../?doc=matrix&znr=on" target="_top">
80: <text x="515" y="65" style="fill: #F00">
81: <set attributeName="fill" attributeType="CSS" to="#00C" begin="mouseover"/>
82: <set attributeName="fill" attributeType="CSS" to="#F00" begin="mouseout"/>
83: matrix.svg<tspan style="fill: #000">.</tspan>
84: </text>
85: </a>
86:
87: <text x="320" y="410">Beim Anklicken der transformierten Objekte wird die intern</text>
88: <text x="320" y="430">verwendete matrix()-Operation mit <tspan style="fill: #00C">
89: getCTM()</tspan> sichtbar gemacht.</text>
90:
91: </svg>
[zum Anfang]