作品 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

プログラム

ソースを表示

作品情報

作品を編集
ライセンス
CC0(著作権破棄)
形式
wnako
タグ
プラグイン, アドベントカレンダー2022
利用バージョン
3.3.81
アクセス数(累計)
259
アクセス数(今月)
13
バグ報告
0件
更新日時
2022/12/06 05:54 編集: 2023/01/16 08:54
⭐

コメント