http://www.sw.it.aoyama.ac.jp/2011/PB1/lecture12.html
© 2006-11 Martin J. Dürst 青山学院大学
習った様々な部品や機能を使って面白い SVG の図を作って下さい。
簡単でもいいですが、何か意味のあるものを作って下さい。
授業中の他の学生に見せてもいい内容にしてください。
サーバの問題により、締切は 6月 26日 (日曜日) の 22:00 まで延長
<object data='file.svg'>
要素 (IE6
まではだめ)<embed src='file.svg'>
要素
(標準化されてないけど幅広く使用可)<iframe>
要素 (図形に外枠がつく)<img>
要素<object>
要素が一番確実
<object>
要素<img>
要素と類似が、内容がフォールバックに使用<object type="image/svg+xml" data="panda.svg" height="200" width="200"> <object type="image/gif" data="panda.gif"> A sketch of a panda's face, with green background </object> </object>
<text>
要素の内容で指定x
属性と y
属性で位置を指定<a>
要素で囲むとこの部品がリンクになる<a xlink:href='リンク先'> リンクをつける図形 (複数可) </a>
<defs>
要素内で記述<use>
要素で使用
use
される部品のスタイルは上書不可能<use>
やその親からスタイルを継承<defs>
(definitions)
要素内に再利用したい部品を定義<defs>
内の部品は直接表示されない<g>
(group) 要素で囲む<g>
要素を id
属性で識別<defs> <g id='part1'> <rect x='0' y='0' width='20' height='20'/> <circle cx='20' cy='20' r='15'/> </g> </defs>
<use>
要素で部品を使用xlink:href
属性で使用する部品の指定#識別子
でファイル内の部品の識別子を指定<defs>
内の部品だけではなく、他の部品も再利用可<use xlink:href='#part1' /> <!-- 同じファイル内 --> <use xlink:href='file.svg#part1' /> <!-- 別のファイル -->
transform
属性で様々な変更ができるtransform
内の指定:
translate (tx ty
): 移動scale (sx sy)
: 拡大縮小rotate (α)
: 回転 (原点が中心)rotate (α tx ty
): 回転
(tx ty が中心)skewX (α)
: x 軸方向の傾斜skewY (α)
: y 軸方向の傾斜transform
内に複数の変化が指定可能<animate>
, <animateTransform>
などでアニメーションを作成例:
<rect x='20' y='20' width='50'> <animate attributeName="height" from="1" to="100" dur="5s" repeatCount="indefinite" /> </rect>
アニメーションの時間帯は次の属性で指定:
begin
: スタートの時間dur
(duration): 長さend
: 終わりの時間repeatCount
: 繰り返しの回数;indefinite
が無限fill='freeze'
: 終了後に終了状態に留まる
(元に戻らない)今日習った様々な部品や機能を使ってもっと面白い SVG の図を作って下さい。
授業中の他の学生に見せてもいい内容にしてください。
7月 1日 (金曜日) の 22:00 までに Moodle に投稿。