- 2008年7月18日 07:23
- Rotate | Scale | Transform attribute | Translate
transform 属性の、scale のプロパティ値がマイナスになった場合、オブジェクトはミラーリング(mirroring)します。Chapter 9 の今回のセクションでは、これにrotate, translate などをミックスさせた位置関係を説明します。
W3Cで標準化されている要素、スタイル属性がサポートされているブラウザ、またはSVG Viewerプラグインをインストールしてください。
左上のある#cup は、rotate(15) へ回転させた位置です。
rotate(15) scale(-1, 1) の位置は、X軸がマイナスの位置に表示されます。
rotate(15) scale(-1, 1) translate(-370, 0) の位置が右上2番目のオブジェクトです。この場合、translate(-370, 0) のマイナス370の方向は、scale(-1, 1) でX軸に反転してますので、逆の方向になります。これは、matrix 換算時にこうならなければいけないためです。
簡単に言うと、一旦scale(-1, 0)でX軸に反転させてますので、オブジェクトのカップの黒い取っ手のある方向がX軸にプラスの方向になります。もしscale が最後に設定されるのであれば関係ありません。また、transform での位置設定が終われば関係ありません。
●の位置は、x=650, y=250 の位置にあります。scale(-sx, -sy)の位置はその●にクロスしている青線の反対側に反転された位置になります。
基準となるオブジェクトの位置を、X=0, Y=0 の位置に設定すればその分簡単になります。
今回の#cup のx, y のオリジナルの位置は移動しています。前回までの#cup のrect 要素の左上(x, y) は指定していないので、x="0" y="0" でした。今回は、x="140" y="50" となっています。
色の名称はこちらを参考:Name, Hex, RGB of Color
下のコードは上のSVGファイルのコードです。
