lovstudio-png2svg について
lovstudio-png2svgは、PNG画像をSVGに変換するスキルで、白い背景を除去するオプションもあります。ImageMagickでの前処理、vtracerによるベクター化、svgoでの最適化を組み合わせます。
主な機能
- 01PNGからSVGへの変換ワークフロー
- 02白い背景の除去オプション
- 03vtracerによるスプラインベクター化
- 04svgoによるSVGパスの最適化
活用シーン
- 01PNG画像をSVGに変換
- 02ベクター化前に白い背景を除去
- 03生成したSVGパスを最適化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lovstudio/ skills --skill lovstudio-png2svgインストール後、Claude Code で/lovstudio-png2svgを入力して読み込まれたか確認します。
同梱ファイルCHANGELOG.mdREADME.md
詳細
PNG から SVG への変換スキル
PNG 画像を高品質なベクター SVG に変換します。白い背景の除去にも対応しています。
ツールチェーン
PNG → magick (去白底+alpha阈值) → vtracer (样条曲线) → svgo (压缩) → SVG
- ImageMagick (
magick):白い背景の除去+アルファしきい値処理 - vtracer:スプライン曲線によるベクター化(potrace より滑らかです)
- svgo:SVG パスの圧縮と最適化
呼び出し方法
PNG を SVG に変換する必要がある場合は、以下の手順を実行します。
入力
INPUT_PNG:入力 PNG ファイルのパス(必須)OUTPUT_SVG:出力 SVG のパス(デフォルト:同名の .svg)KEEP_BG:背景を保持するかどうか(デフォルト:false、白い背景を除去)
実行手順
Step 1: 前処理(白い背景の除去)
背景を除去する場合(KEEP_BG=false):
magick INPUT_PNG \
-fuzz 15% -transparent white \
-channel A -threshold 50% +channel \
INPUT_PNG.temp.png
Step 2: ベクター化
vtracer --input INPUT_PNG.temp.png --output OUTPUT_SVG \
--mode spline \
--filter_speckle 8 \
--color_precision 8 \
--corner_threshold 120 \
--segment_length 6 \
--path_precision 5
Step 3: 圧縮と最適化
npx svgo OUTPUT_SVG -o OUTPUT_SVG --multipass
Step 4: クリーンアップ
rm -f INPUT_PNG.temp.png
出力
生成された SVG ファイルのパスを返し、ファイルサイズを報告します。
✓ PNG → SVG 转换完成
输入: {INPUT_PNG}
输出: {OUTPUT_SVG}
大小: {file_size}
依存関係
初回使用前に、以下がインストールされていることを確認してください。
brew install imagemagick
cargo install vtracer
npm install -g svgo # 或使用 npx
パラメーターの調整
| パラメーター | 用途 | 値を大きくした場合の効果 |
|---|---|---|
filter_speckle | 小さな斑点を除去 | よりきれいになります |
corner_threshold | 角のしきい値 | より滑らかになります |
segment_length | 線分の長さ | より滑らかになります |
color_precision | 色の精度 | より正確になります |
コメント
Markdown 対応