SVGからPNGへ

JavaでSVGをPNGに変換

SVG 画像の顕著な特徴の 1 つは、スケーラブルであることです。 SVG は、画面の解像度やサイズに関係なく、同じ品質を維持します。そのため、任意の解像度でデザインでき、品質を損なうこともピクセル化することもなく、サイズを大きくしたり小さくしたりできます。ラスター イメージと比較する場合、最初から必要なサイズを把握しておく必要があります。そうしないと、イメージが大きすぎたり小さすぎたりするリスクがあります。ただし、SVG はピクセルではなくポイントとパスに基づいているため、標準の画像形式ほど詳細を表示できません。したがって、SVG を PNG 形式に変換すると、これらの問題を解決できます。

SVG から PNG への変換 API

この記事では、REST ベースの API である Aspose.Imaging Cloud SDK for Java を使用します。これは、ラスター、メタファイル、Photoshop をさまざまな サポートされている形式 にプログラムで編集、操作、および変換する機能を提供します。 ]。また、オンラインで SVG を PNG に変換する機能もサポートしています。 SDK の使用を開始するには、pom.xml (maven ビルド タイプ プロジェクト) に次の情報を含めて、Java プロジェクトにその参照を追加する必要があります。

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

Aspose Cloud Dashboard に登録済みの場合は、Cloud Dashboard からクライアント資格情報を取得してください。それ以外の場合は、最初に有効なメール アドレスを使用して無料アカウントを登録する必要があります。

JavaでSVGをPNGに変換

画像処理 API は、Java コード スニペットを使用して PNG を SVG に変換したり、SVG を PNG に変換したりできます。

  • まず、パーソナライズされたクライアント資格情報を使用して ImagingApi のオブジェクトを作成します。
  • 次に、readAllBytes(…) メソッドを使用して SVG イメージのコンテンツを読み取り、byte[] 配列に渡します。
  • 次に、SVG 名を渡しながら UploadFileRequest のインスタンスを作成し、uploadFile(…) メソッドを使用してクラウド ストレージにアップロードします。
  • ここで、入力 SNG と結果の画像フォーマットを PNG として指定する ConvertImageRequest のオブジェクトを作成します。
  • メソッド convertImage(…) を呼び出して SVG を PNG 形式に変換すると、結果が応答ストリームとして返されます。
  • 最後に、FileOutputStream オブジェクトを使用して、結果の PNG をローカル ドライブに保存します。
// https://dashboard.aspose.cloud/ から ClientID と ClientSecret を取得します。
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// イメージング オブジェクトの作成
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// ローカル システムから SVG イメージを読み込む
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// ファイル アップロード リクエスト オブジェクトの作成
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// SVG 画像をクラウド ストレージにアップロードする
imageApi.uploadFile(uploadRequest);

// 画像の出力形式を指定する
String format = "PNG";

// 画像変換リクエスト オブジェクトの作成
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// SVG を PNG に変換し、応答ストリームで画像を返す
byte[] resultantImage = imageApi.convertImage(convertImage);

// PNG 画像をローカル ストレージに保存する
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();

上記の例で使用されている入力 SVG イメージは、FileExtension Icons.svg からダウンロードできます。

SVGからPNGへ

画像:- svg を png オンライン プレビューに変換

cURL コマンドを使用して SVG を PNG として保存する

Aspose.Imaging Cloud は REST アーキテクチャに従って開発されているため、cURL コマンドを使用して画像を png として保存できます。最初のステップは、次のコマンドを使用して (クライアント資格情報に基づいて) JWT アクセス トークンを生成することです。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

JWT トークンが生成されたら、次のコマンドを実行して SVG を PNG 形式に変換してください。

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.svg/convert?format=PNG" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Resultant.png

結論

Java コード スニペットを使用して SVG を PNG に変換する方法の詳細を学びました。同時に、cURL コマンドを使用して SVG を PNG に変換するオプションを検討しました。さらに、SDK のソース コードを変更する場合は、GitHub からダウンロードできます (すべての Cloud SDK は MIT ライセンスの下で開発されています)。また、API の有望な機能をテストするオプションの 1 つは、Web ブラウザー内の SwaggerUI を使用することです。

それにもかかわらず、製品ドキュメント は、API が提供する他のエキサイティングな機能について学ぶための素晴らしい情報源です。 製品サポート フォーラム

関連記事

詳細については、次のリンクを参照してください。