AutoTraceでPNGを中心線SVGに変換する方法
PNG 上で AutoTrace の中心線コマンドを実行し、SVG を保存し、図面を 1 つの連続したルートとして扱う前に、そのストローク属性、塗りつぶし属性、および開いたサブパスを検査します。
目次
スタンドアロン AutoTrace CLI を使用して PNG を中心線 SVG に変換するには、--centerline を追加し、SVG 出力を要求し、保存したファイルに名前を付けます。次に、ジオメトリを検査します。 AutoTrace 0.40.0 コントロールは、SVG ストロークで色塗りつぶしなしで描画されたパスを生成しましたが、その 1 つのパス要素には 2 つの別個の開いたサブパスが含まれていました。 SVG パス要素の数が少ないことは、描画ルートが連続していることを証明するものではありません。
アートワークの一部にカラー塗りつぶしを使用したアウトライン形状が必要な場合は、PerfectVector を無料で始めて、プレビューのシルエットと内部の穴を確認してください。 PerfectVector は中心線を作成しません。結果を編集またはエクスポートする前に、結果のロックを解除する必要があります。中心線タスクの場合は、以下の完全なローカル ワークフローを使用します。
スタンドアロン AutoTrace CLI を使用していることを確認します。
このガイドでは、公式 AutoTrace プロジェクトで説明されている、インストールされた autotrace 実行可能ファイルを使用します。 AutoTracer.org は、独自のインターフェイスを備えたブラウザ アップロード サービスです。そのコントロールは以下のコマンドではありません。 Inkscape のセンターライン インターフェイスは、このタスクへのもう 1 つのルートです。 単一線 SVG への描画ガイドでは、GUI ワークフロー、ソースの準備、クリーンアップ、およびその後のプロッター チェックについて説明しています。
インストール済みのAutoTrace実行ファイル、ターミナル、使用許可のあるPNG、SVGビューアまたはプレーンテキストエディタを用意します。原本を残し、line-control.pngという名前の作業用コピーを別のフォルダーに置いてください。今回の対照用画像は、この検証用に作成した160 × 120のRGB PNGです。不透明な白い背景に太い黒の縦線と、そこから右に伸びる2本の横線を描きました。
トレースする前に、インストールされているビルドを確認してください。
autotrace --version
autotrace --help
autotrace --list-input-formats
autotrace --list-output-formats私たちのバージョンは AutoTrace version 0.40.0. を返しました。その形式リストには PNG 入力と SVG 出力が含まれていました。プロジェクトでは、フォーマットのサポートはビルドに依存すると述べています。実際の入力リストに PNG がない場合は、変換コマンドをコピーする前に、そのビルドの入力サポートを解決してください。
1.輪郭をトレースした参照SVGを保存する
まず、通常のトレースを独自のファイル名で保存します。
autotrace --background-color FFFFFF \
--output-format svg --output-file outline.svg line-control.png管理者のコマンド マニュアル には、無視する 16 進数の色として背景色が記載されており、要求された形式と出力先ファイルとして出力オプションが記載されています。 FFFFFF はここでは白を示します。その選択をすべての画像に盲目的に追加するのではなく、ソースに関連付けておいてください。
実際の outline.svg には、fill:#000000; stroke:none;。濃い黒色の領域の境界を描写しました。色で塗りつぶされた図形で表されるトレースされたライン アートのより広範な説明については、「ライン アートを SVG に変換する」を参照してください。
2. 中心線を追加し、別の SVG を保存します
centerline オプションと新しい出力ファイル名を指定して同じソースを実行します。
autotrace --background-color FFFFFF \
--output-format svg --output-file centerline.svg \
--centerline line-control.png公式プロジェクトとマニュアルでは、中心線トレースと輪郭トレースを区別しています。保存した centerline.svg には stroke:#000000; fill:none;、パス要素が 1 つあり、イメージ要素はありません。その形状は、ソースの厚い領域を通る細いルートをたどっており、境界形状を埋めるのではありません。
また、明示的な白背景オプションを使用せずに同じソースをテストしました。
autotrace --centerline --output-format svg \
--output-file centerline-background-retained.svg line-control.pngこのファイルは、このテスト リファレンスの centerline.svg とバイト単位で同一でした。したがって、このソースとビルドには明示的なバックグラウンド フラグは必要ありませんでした。これを、欠落しているブランチの普遍的な修正や、すべてのバックグラウンド結果の説明として扱わないでください。
3. パス数だけでなく、保存されたルートを検査する
これらは、SVG マークアップとして検査され、ローカルでレンダリングされた、実際に保存された 3 つのファイルからの観察です。ファイルは、元のコマンドライン テストから保持されたものです。検査ではそれらの出力が再利用されており、2 回目の変換実行を実行したとは主張しません。
| 保存されたファイル | パス要素 | 塗装と開閉 | それが確立するもの |
|---|---|---|---|
outline.svg | 1つ | 黒塗り、ストロークなし。 1 つの閉じたサブパス | 通常の塗りつぶされた境界トレース |
centerline.svg | 1つ | 黒のストローク、塗りつぶしなし。 2 つの開いたサブパス | 描画パスにギャップのある中心線ジオメトリ |
centerline-background-retained.svg | 1つ | 中心線ファイルと同じバイト | ここでは背景オプションを省略しても違いはありませんでした |
サブパスは、パス要素内の別の輪郭です。 SVG パス仕様で定義されているように、SVG パス データでは、M がサブパスを開始し、Z がサブパスを閉じます。中心線パスには 2 つの M コマンドがあり、Z コマンドはありませんでした。関連する保存データは、読み取り用に空白が追加されており、次のとおりです。
M30 30L30 75
C30 80.0707 28.3961 88.5616 31.6034 92.8519
C35.7319 98.3743 47.9272 96 54 96L117 96
M31 56L87 56最初のルートは垂直幹に沿って x = 30 で始まります。2 番目のルートは x = 31、y = 56 で始まります。その別々の始まりは分岐が結合している証拠ではありません。この単純な入力であっても、それを連続ルートとして扱う前に、エンドポイント検査が必要です。

ソースの横にある SVG を開きます。主幹、各側枝、終点、予期しないループを確認します。保存されたストローク/塗りつぶし属性とパス データを使用して、構造上の質問に答えます。薄く見えるプレビューだけでも、塗りつぶされた輪郭や切断された分岐を隠すことができます。これらのチェックでは、ファイルの内容が検証されます。別のツールでのインポートやペン プロットの成功は検証されません。
失敗したチェックから回復する
| チェックに失敗しました | 次のアクション |
|---|---|
| PNG が拒否されました | インストールされている入力形式のリストとそのビルドの依存関係を確認します。 |
| SVG はまだ塗りつぶされた閉じた形状です | --centerline が使用されていることを確認し、アウトライン トレースされた参照 SVG ではなく、新しく名前が付けられた出力を検査します。 |
| 道が見えにくい | ストロークと塗りつぶしを確認し、対照的なビューアの背景を選択します |
| 枝が欠けている、または枝が外れている | ソースを再訪問し、エンドポイントを検査し、ルートを意図的に修復します |
| 1 つのパスが 1 つの連続した線として扱われます | 個別の M の開始点とその要素内の実際の接続を検査します。 |
受け入れられた SVG を、元の PNG、AutoTrace バージョン、および完全なコマンドとともに保持します。この CLI タスクの完了チェックは、SVG ストロークと検査されたブレークによって表される意図した描画パスを含む保存された SVG です。受信アプリ、ネイティブ編集、物理的なペン描画、または物理的なカットはテストしませんでした。次の決定には、単線描画ガイドのクリーンアップとプロッタ チェックを使用します。自動トレースは、ブランチの完全な再構築を証明するものではありません。
プロジェクトの別の部分でカラー塗りつぶしを使用したソリッド シェイプが必要な場合は、PerfectVector を無料で始めて、プレビューの外側の形状と内側の穴をソースと比較してください。中心線部分を中心線対応のワークフローに保持します。
よくある質問
中心線 PNG から SVG への AutoTrace コマンドとは何ですか?
autotrace を --centerline、--output-format svg、--output-file 宛先、および PNG 入力とともに使用します。まずインストールされているバージョンとサポートされている入力形式を確認してから、保存された SVG のストローク、塗りつぶし、ルートを調べます。
1 つの SVG パスは常に 1 つの連続した中心線ですか?
いいえ。パス要素には複数のサブパスを含めることができます。実際の中心線 SVG にはパス要素が 1 つありましたが、開いたサブパスが 2 つあったため、要素数だけでは連続ルートであることは証明されませんでした。
白背景オプションは必要ですか?
これは、AutoTrace 0.40.0 の白い背景のテスト画像には必要ありませんでした。省略すると、同一の SVG バイトが生成されました。中心線ジオメトリの修復を想定するのではなく、ソースとインストールされたビルドのバックグラウンド処理を選択してください。
PerfectVector は同じ中心線出力を作成できますか?
PerfectVector は、中心線ではなく色で塗りつぶされたアウトライン ベクトル シェイプを作成します。これは別の塗りつぶし形状タスクとして機能しますが、中心を通るルートが必要なマークには中心線対応ツールまたは意図的な描画が必要です。
情報源
- 公式 AutoTrace プロジェクト — スタンドアロン CLI、センターライン サポート、使用法、およびビルド依存の入力形式。
- AutoTrace コマンド マニュアル - 中心線、背景、出力ファイル、および出力形式のオプション。
- W3C SVG パスの仕様 - サブパス、moveto コマンド、クロージャ。
- AutoTracer.org — インストールされた CLI とは区別される別のブラウザ サービス。


