作品 ID: 1920
SVG画像を描画するプラグイン
公開なでしこさんでSVG画像を描画するプラグインの基本版。基本的な描画と変形(transform)ができます。アドベントカレンダー2022、6日目。
ライブラリ
関数一覧
| 関数名 | 引数 | 説明 |
|---|---|---|
| SVG和スタイル追加 | ||
| SVG親要素作成 | whの|whで | これが無いと始まらない。 |
| SVG描画開始 | svgの|svgへ|svgで | 単なるDOM要素設定だけど、キャンバスの描画命令に寄せる&クリップやマスクの描画開始が分かりやすくなる感。 SVG親要素は、作成時にDOM親要素設定するので必要ない。 |
| SVG線描画 | xy1からxy2まで|xy2へ | |
| SVG四角描画 | xywhの|xywhへ|xywhに | |
| SVG角丸四角描画 | xywhへrの|xywhにrで | |
| SVG円描画 | xyへrの|xyに | |
| SVG楕円描画 | xyへrの|xyに | |
| SVG折れ線描画 | Pの|Pで | PはSVGの記述通り「x1,y1 x2,y2 x3,y3...」と、なでしこのキャンバスのと同じ配列での指定ができる[[x2,y1],[x2,y2],[x3,y3]...] 線だけにしたい場合は、SVG塗り色を「none」にする。 |
| SVG多角形描画 | Pの|Pで | |
| SVG星描画 | 数で中点に半径の|中点へ | |
| SVGハート描画 | xywhの|xywhへ|xywhに | |
| SVG文字描画 | xyへSの|xyにSを文字間で | |
| SVG縦書き文字描画 | xyへSの|xyにSを文字間で | |
| SVG文章描画。 | xyにwhでsを|xyへ | whは[行間,文字間] |
| SVG縦書き文章描画 | xyにwhでsを|xyへ | whは[行間,文字間] |
| SVG文字幅取得 | 「getBBox」も「getBoundingClientRect」も欲しい値と違うのでとりあえず無理矢理系; | |
| SVG文字高さ取得 | ||
| SVGパス描画 | dの|dを|dで | |
| SVG連続パス描画開始 | 始点から|始点に|始点へ | 連続パス描画中は始点を省略してつないでいく。 |
| SVG連続パス描画終了 | ||
| SVG連続パス追加処理 | 追加パスで | |
| SVGパス描画位置移動 | xyへ|xyに|xyまで | 連続パス描画でだけ |
| SVGパス線描画 | xy1からxy2まで|xy2へ | |
| SVG弧形描画 | 始点から終点まで設定配列で半径の | 設定配列=[回転度,弧が180度より大きいか,時計回りか] |
| SVG扇描画 | 中点に開始角から終了角まで半径の|中点へ半径で | 角度はラジアン。角度0は右端。 |
| SVG円弧描画 | 中点に開始角から終了角まで半径の|中点へ半径で | |
| ラジアン角度修正 | ラジアン度の | 0~360をラジアン変換の範囲に修正 |
| SVGスプライン描画 | 始点から中継点配列で | |
| SVG二次ベジェ曲線描画 | 始点から制御点で終点まで|始点と終点の | 終点を配列にして複数指定すると、スプラインでつないでいく。 |
| SVG三次ベジェ曲線描画 | 始点から制御点配列で終点まで|始点と終点の | |
| SVG三次ベジェ曲線続ける | 制御点で終点まで|終点と | 連続パス描画でだけ |
| SVG画像描画 | xywhへURLの|xywhにURLを | 幅と高さの指定が必須ラシイ(無くても等幅で表示される気がするけどいちおう) https://developer.mozilla.org/ja/docs/Web/SVG/Element/image |
| SVGエレメント作成。 | 要素種別の | |
| SVGグループ作成 | 親要素へ|親要素に | グループ化。表示される。スタイルやトランスフォーム属性を指定すると一括で指定される。 |
| SVGシンボルグループ作成 | 定義領域へ|定義領域に | ここに描画したものは表示されない。参照複製(use)して使うものを定義しておく所。 viewbox を指定でき、参照複製時、width, height を指定して拡縮できる(?) 基本、定義領域(defs)に作成する。 |
| SVG定義領域作成 | 親要素へ|親要素に | シンボルグループやスタイルシートなど実際に描画しないものを定義しておく所。 参照される要素は可能な限り、ここに入れておけとゆうことラシイ(?) |
| SVG参照複製 | svgを | 参照元の塗り色や線色や変形は継承されて上書き出来ないので気を付ける。 参照元は、シンボルグループの中に、スタイル属性やトランスフォーム属性は基本付けず作成。 色関係の変数には空を設定しておく。 use(https://developer.mozilla.org/ja/docs/Web/SVG/Element/use) |
| SVG要素作成。 | 要素種別の | 一応何でも作れるようにしておく |
| SVG属性設定 | svgの属性に値を|属性へ | なでしこのDOM属性設定、取得命令では、SVGはできない。 「setAttribute」でいいのか「setAttributeNS」が正しいのか、なやむー。 |
| SVG属性一括設定 | svgに|svgへ設定を | |
| SVG属性取得 | svgの属性を|属性から | |
| SVG描画初期設定 | svgに設定を | 描画要素作成時に使う一括設定。 スタイルやトランスフォームは直接指定すると、 ・優先順位によりクラスでの指定が効かなくなる。 ・参照複製時にも継承されて上書きできない。 そうゆう用途の場合は、空またはデフォルト値にしておくことで設定しないようにする。 |
| SVG線色設定 | Vに|Vへ | なでしこのキャンバスの描画と同様、これから描画するやつに適用される。 |
| SVG塗色設定 | Vに|Vへ | |
| SVG線太設定 | Vに|Vへ | |
| SVG透明度設定 | Vに|Vへ | [線透明度,塗り透明度]。値が一つの時は同じになる。 |
| SVG線端形状設定 | Vに|Vへ | |
| SVG角形状設定 | Vに|Vへ | |
| SVG文字フォント設定 | Vに|Vへ | |
| SVG文字太さ設定 | Vに|Vへ | |
| SVG文字サイズ設定 | Vに|Vへ | |
| SVG破線パターン設定 | Aに|Aへ | |
| SVG描画変換マトリクス設定 | svgをAだけ|Aに|Aへ | キャンバスのとは違い今あるSVGを変化させる。グループ(g)などに適用すれば、まとめて変化させられる。 transform(https://developer.mozilla.org/ja/docs/Web/SVG/Attribute/transform) |
| SVG描画変換マトリクス追加 | svgをAだけ|Aに|Aへ | |
| SVG描画起点移動 | svgをXYだけ|XYに|XYへ | Translate |
| SVG描画移動 | svgをXYだけ|XYに|XYへ | Translate |
| SVG描画拡大 | svgをXYだけ|XYに|XYへ | Scale |
| SVG描画回転 | svgをAだけ|Aに|Aへ | Rotate |
| SVG描画傾斜X | svgをAだけ|Aに|Aへ | SkewX |
| SVG描画傾斜Y | svgをAだけ|Aに|Aへ | SkewY |
| SVG描画変形削除 | svgの | transform属性の内容を破棄。 |
| SVG変換マトリクス統合 | svgの | |
| CTM取得 | svgの | Current Transformation Matrix |
ソース
プログラム
ソースを表示
作品について
交流
コメント