Web 上の画像に透過性が必要な場合はいつでも、PNG が頭に浮かぶ形式の 1 つです。 SVG 画像は、そのスケーラビリティにより、一般的に使用される画像形式の 1 つでもあります。小さな静止画像、ロゴ、および透明な背景を持つ画像を表示するには、多くの場合、PNG 画像が好まれます。互換性またはその他の理由により、SVG ベクター グラフィックスを他の形式に変換することが必要になることがよくあります。この記事では、C# を使用して SVG ベクター グラフィックスを PNG 画像に変換する方法について説明します。

C# (グレースケール、回転、反転、明るい透かし) を使用して SVG を PNG に変換します。

画像を変換する .NET API

GroupDocs は、開発者が 変換 API を使用して、画像形式を他のさまざまな形式に変換できるようにします。変換された画像は、さまざまな高度なオプションを使用して変換プロセス中に変更することもできます。この記事では、その GroupDocs.Conversion for .NET を使用して、SVG ベクター画像を PNG 画像に変換します。

ダウンロード セクションから DLL または MSI インストーラーを ダウンロード するか、NuGet 経由でパッケージを .NET アプリケーションに追加して API をインストールできます。

PM> Install-Package GroupDocs.Conversion

その機能の実行例も GitHub で入手できます。ガイダンスについては、ドキュメントAPI リファレンス を参照してください。

C# を使用して SVG を PNG 画像に変換する

デフォルト設定を使用して、ベクター グラフィックスを PNG 形式に変換することから始めましょう。次の手順は、C# を使用して SVG イメージを PNG に変換する方法を示しています。

  • Converter クラスを使用して SVG ファイルをロードします。
  • 画像変換オプションを準備します。
  • 変換ファイルの種類を PNG に設定します。
  • 準備されたオプションを指定して Convert() メソッドを呼び出します。

次の C# ソース コードは、SVG を PNG 画像に変換します。

// デフォルトのオプションで .NET 変換 API を使用して C# で SVG ファイルを PNG 形式に変換する方法
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png
    };
    converter.Convert("path/svg-to-png.png", options);
}

C# を使用した高度なオプションを使用した SVG から PNG 画像への変換

ベクター グラフィックスの変換中に、さまざまなカスタマイズを PNG 出力に適用できます。調整できる PNG 画像の機能の一部を次に示します。

  • 輝度
  • 対比
  • ガンマ
  • グレースケール
  • フリップモード (水平/垂直)
  • 回転角度
  • 身長
  • 透かし

次の手順は、SVG 画像を PNG に変換し、結果の PNG ファイルにさらに調整を適用する方法を示しています。

  • Converter クラスを使用して SVG グラフィックを読み込みます。
  • 画像変換オプションを準備します。
  • 変換ファイルの種類を PNG に設定します。
  • 選択的なカスタマイズを定義し、その値を調整します。
  • 準備されたオプションを指定して Convert() メソッドを使用して、PNG 画像に変換します。

次のソース コードは、C# を使用して SVG から PNG への変換でカスタマイズを適用します。これらの効果のいずれか、または目的の PNG 出力の組み合わせを適用できます。

// さまざまなカスタマイズを使用して、C# で SVG ファイルを PNG 形式に変換する
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png,
        FlipMode = ImageFlipModes.FlipY,
        RotateAngle = 45, 
        Grayscale = true
        /*
        Brightness = 50,
        Contrast = 50,
        Gamma = 0.5F,
        */
    };
    // 変換された画像に透かしを適用する
    WatermarkOptions watermark = new WatermarkTextOptions("Watermark")
    {
        Color = Color.Blue,
        Width = 150,
        Height = 150,
        Background = false,
        Top = 50,
        Left = 50,
        RotationAngle = -45,
        Transparency = 50,
    };
    options.Watermark = watermark;
    
    converter.Convert("path/svg-to-png-customized.png", options);
}

無料の API ライセンスを取得する

無料の一時ライセンス を取得して、評価制限なしで API を使用できます。

結論

結論を出しましょう。 .NET アプリケーション内で C# を使用して、SVG ベクター グラフィックスから PNG 形式への変換の基本と少し高度な方法を学びました。さらに、PNG 形式に変換するときに、SVG ファイルを回転、反転、または透かしを追加する方法を学びました。さらに、ガンマと明るさを微調整する方法と、グレースケール オプションをオンまたはオフにする方法を学びました。

groupdocs.app で利用可能なものと同様の独自の SVG から PNG へのコンバーターを構築するのに役立つ GitHub の例を実行してみてください。 フォーラム からお問い合わせください。

関連項目