SVGからPNGへ

JavaでSVGをPNGに変換

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>

API を使用するには、パーソナライズされたクライアント資格情報が必要です。 Aspose Cloud Dashboard に登録済みの場合は、簡単に取得できます。それ以外の場合は、有効なメール アドレスを使用して無料のアカウントを登録し、クライアントの資格情報を取得してください。

JavaでSVGをPNGに変換

当社の画像処理 API は、最小限のコード行で PNG を SVG に、SVG を PNG に変換できます。したがって、このセクションでは、Java を使用して SVG を PNG に変換するためのすべての詳細について説明します。

  • まず、クライアント資格情報を引数として渡す ImagingApi クラスのオブジェクトを作成します。
  • 次に、readAllBytes(…) メソッドを使用して SVG 画像の内容を読み取り、byte[] 配列に返します。
  • 次に、SVG 名を渡しながら UploadFileRequest のインスタンスを作成し、uploadFile(…) メソッドを使用してクラウド ストレージにアップロードします。
  • 次に、ConvertImageRequest のオブジェクトを作成します。ここで、入力 SNG 名と結果の形式を「PNG」として渡します。
  • 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 コマンドから簡単にアクセスできます。したがって、このセクションでは、cURL コマンドを使用して SVG を 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 の素晴らしい機能をテストするための別のオプションは、Web ブラウザー内の SwaggerUI を使用することです。

それにもかかわらず、製品ドキュメント は、API のその他の興味深い機能を説明する記事の素晴らしいリポジトリです。最後に、API の使用中に問題が発生した場合は、無料の 製品サポート フォーラム からお問い合わせください。

関連記事

詳細については、次のリンクにアクセスすることを強くお勧めします。