スケーラブル ベクター グラフィックス (SVG) は、Web 用のベクター ベースのグラフィックスを定義します。SVG は、インタラクティブ性とアニメーションをサポートする 2 次元グラフィックス用の XML ベースのベクター画像形式です。この形式は、画像を任意のサイズに拡大縮小できるインターネット上で 2 次元画像をレンダリングするためによく使用されます。ただし、詳細と品質を失わないロスレス圧縮のために SVG を PNG に変換する必要がある場合は、Aspose.Imaging Cloud が有効なソリューションとなります。
この記事では、オンラインで SVG を PNG に変換する方法について詳しく説明します。
画像変換API
Aspose.Imaging Cloud は、画像処理要件に対するプログラミング ソリューションです。画像のサイズ変更、切り取り、回転、拡大縮小、反転、検索、サポートされているさまざまな形式への画像のエクスポートなどの操作を実行できます。ユーザーの利便性をさらに高めるために、プログラミング言語固有の SDK を作成しました。この記事では、Aspose.Imaging Cloud SDK for .NET を使用します。Aspose.Cloud SDK のインストール方法 の詳細については、次のリンクにアクセスしてください。
C# で SVG を PNG に変換する
クラウド ストレージにすでに存在する SVG イメージを PNG 形式に変換するには、以下の手順に従ってください。
- 最初のステップは、ClientID と ClientSecret の詳細を引数として渡しながら ImagingApi のインスタンスを作成することです。
- 次に、ImagingApi の UploadFile(..) メソッドを使用して、SVG イメージをクラウド ストレージにアップロードします。
- 3 番目に、入力 SVG の名前と結果の形式を引数として渡しながら、ConvertImageRequest クラスのインスタンスを作成します。
- 次に、ConvertImage(..) メソッドを呼び出して変換操作を実行します。結果の PNG は Stream インスタンスとして返されます。
- 最後に、File.Create を使用してカスタム メソッドを呼び出し、Stream インスタンスをローカル ドライブ上のファイルとして保存します。
// 完全な例については、https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet をご覧ください。
// https://dashboard.aspose.cloud/ からクライアント資格情報を取得します。
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// DiagramApiのオブジェクトを作成する
ImagingApi imagingApi = new ImagingApi(clientSecret,clientID, "https://api.aspose.cloud/");
// 入力SVGファイルの名前
String inputFileName = "trashloader2.svg";
// 結果のファイル形式
String newFormat = "png";
// 出力ファイル名
String newFileName = "Converted.png";
try
{
// ローカルドライブからファイルを読み込む
using (var inputStream = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + inputFileName))
{
// ファイルアップロードリクエストの作成
UploadFileRequest request = new UploadFileRequest(inputFileName, inputStream);
// デフォルトのクラウドストレージにファイルをアップロードする
imagingApi.UploadFile(request);
// 画像変換のインスタンスを作成する
var response = new ConvertImageRequest(inputFileName,newFormat);
// 画像変換操作を開始する
var responseStream = imagingApi.ConvertImage(response);
// ストリームインスタンスをローカルストレージにファイルとして保存する
saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
参考までに、上記の例で使用したサンプル画像は、trashloader2.svgおよびConverted.pngからダウンロードできます。
cURL コマンドを使用した SVG から PNG への変換
このセクションでは、cURL コマンドを使用して SVG から PNG への変換を実行します。最初のステップは、クライアントの資格情報に基づいて JWT アクセス トークンを生成することです。生成するには、次のコマンドを実行してください。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
次に、次の cURL コマンドを実行して SVG を PNG に変換します。結果は応答ストリームとして返され、ローカル ドライブに保存できます。
curl -X GET "https://api.aspose.cloud/v3.0/imaging/trashloader2.svg/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.png
ゼロインデックスの multipart/form-data コンテンツまたは生のボディ ストリームとして渡された SVG イメージを変換する必要がある場合。
curl -X POST "https://api.aspose.cloud/v3.0/imaging/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d {"imageData":{}} \
-o Converted.png
結論
Aspose.Imaging Cloud API の画像変換機能について説明しました。特に、C# .NET コード スニペットを使用して SVG を PNG に変換することに焦点を当てました。同時に、cURL コマンドを使用して SVG を PNG に保存する方法についても詳しく説明しました。API は Swagger インターフェイス経由でもアクセスでき、Web ブラウザー内で API をテストできます。ただし、Cloud SDK は MIT ライセンスの下で開発されているため、完全なソース コードは GitHub からダウンロードできます。
API の使用中に問題が発生した場合や、関連する質問がある場合は、無料製品サポート フォーラム からお気軽にお問い合わせください。
関連リンク
詳細については、次のリンクにアクセスすることをお勧めします。