SVG イメージを回転する C#

SVG ファイルは、グラフィックを XML 形式で定義します。画像の品質を損なうことなく、任意のサイズに拡大または印刷できます。場合によっては、SVG イメージの回転が必要になることがあります。したがって、この記事では、C# でプログラムによって SVG イメージを回転する方法について説明します。

C# SVG 画像の回転 – API のインストール

Aspose.SVG for .NET は SVG ファイルの操作をサポートします。 .NET Framework ベースのアプリケーション内から SVG イメージを編集、更新、または作成できます。 ダウンロード ページからリファレンス DLL ファイルをダウンロードするか、以下の NuGet インストール コマンドを実行します。

PM> Install-Package Aspose.SVG

C# でプログラムによって SVG イメージ ファイルを回転する方法

次の手順で SVG 画像ファイルを回転できます。

  1. 入力 SVG ファイルを開き、グラフィック要素を作成します。
  2. 回転変換を設定し、回転角度を指定します。
  3. グラフィック要素を追加します。
  4. 回転した SVG 画像を保存します。

C# でプログラムによって SVG イメージを回転する

C# で SVG 画像を回転するには、次の手順に従う必要があります。

  1. SVGDocument クラスで入力 SVG ファイルをロードします。
  2. 回転する角度を指定し、回転変換を設定します。
  3. グラフィック要素を追加します。
  4. Save メソッドを使用して、回転した出力 SVG イメージを書き込みます。

以下のコードは、C# を使用して、HTML コンテンツが埋め込まれた SVG 画像をプログラムで回転する方法を説明しています。

// SVG ドキュメントを開く
using var document = new SVGDocument("example.svg");

var svg = document.RootElement as SVGElement;
var bbox = document.RootElement.GetBBox();

if (svg == null)
    return;

// グラフィック要素 g を作成します。
var g = (SVGGElement)document.CreateElementNS("http://www.w3.org/2000/svg", "g");

// 回転変換を設定 
g.SetAttribute("transform", $"rotate(45,{(bbox.X + bbox.Width) / 2f}, {(bbox.Y + bbox.Height) / 2f})");

// 子要素を svg 要素から g 要素にコピーする
foreach (var childNode in svg.ChildNodes)
    g.AppendChild(childNode.CloneNode(true));
var child = svg.LastElementChild;

// svg から子を削除
while (child != null)
{
    svg.RemoveChild(child);
    child = svg.LastElementChild;
}

// g elment を svg elment に追加
document.RootElement.AppendChild(g);

// 変更したドキュメントを保存
document.Save("roatedexample.svg");

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

無料の一時ライセンス をリクエストして、API を最大限にテストすることができます。

結論

この記事では、C# でプログラムによって SVG イメージを回転する方法を学習しました。さらに、ドキュメント セクションにアクセスして、API の他の機能を学習することもできます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目