SVG(Scalable Vector Graphics)は、2次元グラフィックス用のベクター画像形式です。これらの画像はXML形式に基づいているため、さまざまなノードをトラバースしてファイルの内容を簡単に編集または検索できます。 C#でプログラムによってSVG画像ファイルをロード、保存、またはマージできます。同様に、SVGイメージに関連する他のいくつかの機能により、.NETベースのアプリケーションでサポートされているいくつかのファイル形式を処理できます。詳細については、次のセクションを調べてみましょう。
C#.NETSVGAPIをインストールします
Aspose.SVG for .NET APIは、SVGファイルの作成、編集、または変換をサポートしています。 DLLファイルをOfficial DownloadsからZIPとしてダウンロードし、プロジェクトのリソースに追加できます。さらに、MicrosoftVisualStudioのNuGetパッケージマネージャーを使用して構成することもできます。 NuGetギャラリーからAPIを、他の依存関係がある場合は一緒にインストールします。以下は、NuGetのインストールコマンドです。
PM> Install-Package Aspose.SVG
C#を使用してプログラムでSVGファイルをロードする
既存のSVGイメージで作業を開始するとき、最初に行う必要があるステップは、入力ファイルをロードすることです。 SVGファイルは、Webからだけでなくファイルからもプログラムでロードできます。以下の手順は、SVGファイルをロードする方法を示しています。
- SVGを入力するファイルパスを指定します
- または、URLを指定してSVG画像をロードします
- ファイルまたはURLからSVGドキュメントをロードする
次のコードスニペットは、C#を使用してプログラムでSVGファイルを読み込む方法を示しています。
// SVGを入力するファイルパスを指定します
string document = Path.Combine(dataDir, "QBezier.svg");
// または、URLを指定してSVG画像をロードします
var documentUrl = new Url("https://docs.aspose.com/svg/net/drawing-basics/svg-path-data/owl.svg");
// ファイルまたはURLからSVGドキュメントをロードする
var document = new SVGDocument(document)
ただし、ここで重要なのは、指定されたURLでリソースが見つからない場合、APIがDOMExceptionをスローする可能性があることです。
SVGファイルをプログラムでC#に保存する
SVGファイルをロードする方法はすでに学びました。同様に、SVGファイルをファイルまたはURLに保存できます。次の手順では、SVGファイルを.NETベースのアプリケーションに保存する方法について説明します。
- SVGドキュメント保存の完全な(完全な)パスを設定します
- SVGをファイルに保存
- またはSVGをURLに保存
Save(Url)オーバーロードされたメソッドドキュメントをUrlで指定されたローカルファイルに保存します。次のコードスニペットは、C#を使用してSVGファイルを保存する方法を示しています。
// SVGドキュメント保存の完全な(完全な)パスを設定します
var url = new Url(Path.Combine(OutputDir, "Lineto_out.svg"), Directory.GetCurrentDirectory());
// SVGをファイルに保存
document.Save(documentPath);
// またはSVGをURLに保存
document.Save(url);
SVG画像をプログラムでC#とマージする
さまざまなSVGファイルをPDF、XPS、JPG、TIFF、およびその他のファイル形式にマージできます。異なるSVG画像をマージするには、次の手順に従う必要があります。
- 複数のSVG入力ファイルをロードする
- SvgRendererのインスタンスを初期化します
- すべてのSVGファイルを必要な出力形式にマージします
以下のコードは、C#を使用してプログラムでSVGファイルをマージする方法の例です。
// 後でマージするためにファイルからSVGドキュメントを初期化します
using (var document1 = new SVGDocument(Path.Combine(DataDir, "owl.svg")))
using (var document2 = new SVGDocument(Path.Combine(DataDir, "conclusion.svg")))
using (var document3 = new SVGDocument(Path.Combine(DataDir, "Lineto.svg")))
{
// SvgRendererのインスタンスを作成します
using (var renderer = new SvgRenderer())
{
// PdfDeviceのインスタンスを作成します
using (var device = new PdfDevice(Path.Combine(OutputDir, "result.pdf")))
{
// すべてのSVGドキュメントをPDFにマージ
renderer.Render(device, document1, document2, document3);
}
}
}
結論
この記事では、要件に応じてSVGファイルをファイルまたはURLにロードおよび保存する方法について説明しました。さらに、さまざまなSVGファイルをPDF、XPS、PNG、JPGなどにマージする方法を検討しました。ただし、ここで検討した例とコードスニペットは、SVGファイルをPDFドキュメントにマージすることに関連しています。 サンプルプロジェクトと製品ドキュメントを確認することで、APIをさらに詳しく調べることができます。ご不明な点がございましたら、いつでも無料サポートフォーラムまでお問い合わせください。ご連絡をお待ちしております!