画像ベクトル化 – C# コードとオンラインベクトライザー

ベクターグラフィックスへの切り替え準備はできていますか?

画像のベクトル化とは

画像のベクトル化とは、標準的なビットマップ画像を、ベジェ曲線、スプライン、および直線で構成される数学的にスケーラブルなベクターグラフィックスに変換するプロセスです。ベクトル化の最大の利点は、ズームしても画像がピクセル化されないことです。品質を損なうことのないスケーリング、驚くほど小さなファイルサイズ、スムーズなアニメーションのサポートは、ベクターグラフィックスを使用するメリットのほんの一部です。 Aspose.SVG for .NET API を使用すると、高速な C# ベクトル化プロセスを実装でき、ラスター画像がどのようにトレースされ、クリーンな SVG ファイルに変換されるかを完全に制御できます。


オンライン画像ベクトライザー

当社のインタラクティブな画像ベクトライザーは、ラスター画像を即座にベクターグラフィックスに変換するように設計されています。ベジェ曲線と直線で構成される正確な幾何学的形状を作成し、生成されたすべての要素をクリーンな SVG ファイルに保存します。このツールは、JPEG、PNG、BMP、ICO、GIF、TIFF、WEBP など、ほぼすべての標準ビットマップ形式をサポートしています。最終的なスケーラブルなベクターアートをダウンロードする前に、色制限や平滑化などのさまざまなベクトル化オプションをブラウザ上で簡単にテストできます。


イメージ ベクトライザーの使用方法

  1. ローカル ファイル システムからソース ラスター イメージを読み込みます。UI には 3 つのパネルが表示されます: Source Image、Quantized Image、Vectorized Image。
  2. エンジンはデフォルト プロパティを使用して Image を評価します。SVG 出力を最適化するには、サイドバーを使用して量子化とベクトル化のパラメーターを調整します。Quantize をクリックしてパレット削減をプレビューし、次に Vectorize をクリックして SVG パスをレンダリングします。
  3. Download をクリックして生成されたベクター ファイルを保存します。

量子化オプション (Quantization Options)

アルゴリズムによるピクセルのグループ化と初期カラー パレットの削減を制御するために、これらの設定を調整します:

  • colors – パレットの最大サイズ制約を正確に設定します。
  • method – ヒストグラムベースのカラー量子化アルゴリズムを切り替えます。
  • minHueCols – カラー グラデーションを処理する際の感度制限を制御します。
  • scale – より細かいまたはより粗いカラー サンプリングのためのスケーリング係数を調整します。
  • grayscale – 出力をモノクロ境界に強制します。

ベクトル化オプション (Vectorization Options)

量子化マップに適用される幾何学的トレースの動作を制御します:

  • threshold – 境界輪郭を検出するためのピクセル感度制約を定義します。
  • severity – 最近傍空間サイズを使用して輪郭平滑化を変更します。
  • line-width – 生成された SVG ラインに割り当てられるストローク太さを決定します。
  • stencil – バイナリ アウトライン マスクを適用します。連続トーンの写真をステンシル シルエットに変換するのに最適です。
  • trace paths – セグメントの構築に使用されるベジェ曲線とスプラインの制御点のビジュアル レンダリングを切り替えます。

C# で画像をベクトル化する方法

Aspose.SVG for .NET API は、画像からベクターへの変換の複雑な作業をすべて処理する、専用の ImageVectorization 名前空間を提供します。これらのクラスを使用すると、最終的な出力を保存する前に、画像を簡略化するための ColorsLimit の調整や、ギザギザのピクセルエッジを削除するための PathBuilder 内での TraceSmoother の適用など、さまざまな前処理オプションを簡単に制御できます。


C# による画像のベクトル化

    // Initialize an instance of the ImageVectorizer class
    ImageVectorizer vectorizer = new ImageVectorizer
    {
        // Optionally set a configuration and specify configuration properties
        Configuration =
        {
            // Optionally create an instance of the PathBuilder class
            PathBuilder = new BezierPathBuilder 
            {
                // Optionally set trace smoother
                TraceSmoother = new ImageTraceSmoother(1),
                ErrorThreshold = 30,
                MaxIterations = 30
            },
            ColorsLimit = 25,
            LineWidth = 1
        }
    };
    
    // Vectorize image from the specified file
    using (SVGDocument document = vectorizer.Vectorize(Path.Combine(DataDir, "image.png")))
    {
        // Save vectorized image as SVG file
        document.Save(Path.Combine(OutputDir, "image.svg"));
    }

C# で画像をベクトル化する手順

C# でラスター画像をスケーラブルなベクターモデルに変換するには、次の 3 つの簡単な手順が必要です。

  1. ImageVectorizer クラスのインスタンスを初期化し、その Configuration プロパティを設定します。
    • ColorsLimit を使用して、トレースで使用できる最大色数を定義し、画像サイズを最適化します。
    • BezierPathBuilder をアタッチして、ピクセル輪郭から滑らかな曲線を正確に構築します。
    • ImageTraceSmoother を適用して、粗いまたは不規則なエッジをきれいに平滑化します。
  2. ソース画像へのパスを渡して Vectorize() メソッドを呼び出し、アクティブな SVGDocument を作成します。
  3. 標準の Save() メソッドを使用して、結果のベクター画像をファイルシステムに保存します。

ドキュメント内の画像のベクトル化

Scalable Vector Graphics (SVG) は、品質を損なうことなくあらゆるサイズに拡大縮小できる鮮明な画像を作成できるため、現在、高品質の Web グラフィックスをレンダリングするための標準となっています。この変換がどのように機能するかをマスターするには、 Vectorization – Basic Overview ガイドを参照してください。

  • Image Vectorization Workflow – ベクトル化オプションの明確な内訳を提供し、ラスター画像を標準の SVG ドキュメントにトレースする方法を正確に示します。
  • Image Vectorization Examples – 設定構成の調整が最終的なベクター結果にどのように直接影響するかを示す、実際の C# の例を参照してください。

FAQ

1. C# で Image 画像をプログラムでベクトル化するにはどうすればよいですか?

Aspose.SVG の ImageVectorizer クラスを使用して、Image ビットマップを解析し、SVG パスに変換できます。.NET API は、量子化アルゴリズム、パス ビルダー、およびスムージング構成への直接アクセスを提供し、外部のグラフィック ソフトウェアから独立して変換を実行します。

2. ラスターからベクターへの変換中に何が起こりますか?

ベクトル化は、ソース ビットマップのフラットな 2D ピクセル配列を分析し、その視覚データを数学的な線、ベジェ曲線、および幾何学的な形状に再構築します。これにより、解像度に依存するラスター ファイルが、普遍的にスケーラブルなベクター要素に変換されます。

3. .NET アプリケーションで画像のベクトル化を実装する理由は何ですか?

ロゴ、設計図、技術図面などのレガシー ラスター アセットをベクトル化することで、品質を低下させることなく無限のスケーリングが可能になります。これを自動化することで、開発者は、サーバー インフラストラクチャ上で直接、応答性が高く解像度に依存しない UI アセットまたは印刷準備の整ったグラフィックスを動的に生成できます。

4. 画像のベクトル化アルゴリズムはどのように機能しますか?

ベクトル化エンジンは、最初にカラー量子化を適用して、類似したピクセルをグループ化し、視覚的なノイズを低減します。次に、輪郭トレース アルゴリズムが境界領域を検出し、連続したピクセル クターから形状を構築します。最後に、これらの境界は、スプラインまたはベジェ曲線のノードを使用して、標準化された SVG <path> 要素に計算されます。

Aspose.SVG for .NET API を使ってみる

スケーラブルなベクター グラフィックスとそのアプリケーションの開発に関心がある場合は、C# およびその他の .NET プログラミング言語用の強力なインターフェイス セットを備えた柔軟で高速な Aspose.SVG for .NET API をインストールしてください。
コマンド ラインから nuget install Aspose.SVG としてインストールするか、Visual Studio のパッケージ マネージャー コンソール経由で Install-Package Aspose.SVG を使用してインストールします。 または、 ダウンロード からオフラインの MSI インストーラーまたは DLL を ZIP ファイルで入手してください。Aspose.SVG for .NET API はスタンドアロン ライブラリであり、 SVG ドキュメント処理用のソフトウェア。
C# ライブラリのインストールとシステム要件の詳細については、 Aspose.SVG ドキュメント を参照してください。

その他のサポートされているベクトライザー

時間を節約し、ベクターグラフィックスのすべてのメリットを享受するために、これらの画像ベクトライザーをチェックしてください。

Text to Vector (SVG Text)
Stencil Drawing (Stencil images)
JPG to SVG (JPEG Image)
PNG to SVG (Portable Network Graphics)
Image to SVG (Raster Image)
BMP to SVG (Microsoft Windows Bitmap)
GIF to SVG (Graphical Interchange Format)
TIFF to SVG (Tagged Image File Format)