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 画像ファイルを回転できます。
- 入力 SVG ファイルを開き、グラフィック要素を作成します。
- 回転変換を設定し、回転角度を指定します。
- グラフィック要素を追加します。
- 回転した SVG 画像を保存します。
C# でプログラムによって SVG イメージを回転する
C# で SVG 画像を回転するには、次の手順に従う必要があります。
- SVGDocument クラスで入力 SVG ファイルをロードします。
- 回転する角度を指定し、回転変換を設定します。
- グラフィック要素を追加します。
- 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 の他の機能を学習することもできます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。