svg a png

Convertir SVG a PNG en Java

Una de las características destacadas de las imágenes SVG es que son escalables. Los SVG conservan la misma calidad sin importar la resolución de pantalla o el tamaño en el que se encuentren. Por lo tanto, puede diseñarlo en cualquier resolución, y aumentará o disminuirá el tamaño sin dañar la calidad o pixelarse. Al comparar con imágenes rasterizadas, necesita saber qué tamaño desea desde el principio, o podría correr el riesgo de hacer que la imagen sea demasiado grande o demasiado pequeña. Pero, dado que los SVG se basan en puntos y rutas en lugar de píxeles, no pueden mostrar tantos detalles como los formatos de imagen estándar. Entonces, si convertimos SVG a formato PNG, estos problemas se pueden resolver.

API de conversión de SVG a PNG

En este artículo, vamos a utilizar Aspose.Imaging Cloud SDK para Java, que es una API basada en REST que ofrece las capacidades para editar, manipular y transformar mediante programación ráster, metarchivos, Photoshop a una variedad de Formatos compatibles. También admite la función para convertir SVG a PNG en línea. Ahora, para comenzar con la utilización del SDK, debemos agregar su referencia en nuestro proyecto java incluyendo la siguiente información en pom.xml (proyecto de tipo de compilación maven).

<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>

Si ya nos registramos en Aspose Cloud Dashboard, obtenga sus credenciales de cliente de Cloud Dashboard. De lo contrario, primero debe registrar una cuenta gratuita mientras usa una dirección de correo electrónico válida.

Convertir SVG a PNG en Java

La API de procesamiento de imágenes es capaz de convertir PNG a SVG, así como SVG a PNG utilizando un fragmento de código Java.

  • En primer lugar, cree un objeto de ImagingApi utilizando credenciales de cliente personalizadas.
  • En segundo lugar, lea el contenido de la imagen SVG usando el método readAllBytes(…) y pase a la matriz byte[]
  • Luego cree una instancia de UploadFileRequest mientras pasa el nombre SVG y cargue en el almacenamiento en la nube usando el método uploadFile(…)
  • Ahora cree un objeto de ConvertImageRequest donde especificamos SNG de entrada y el formato de imagen resultante como PNG
  • Llame al método convertImage(…) para convertir SVG a formato PNG y el resultado se devuelve como flujo de respuesta
  • Finalmente, guarde el PNG resultante en la unidad local usando el objeto FileOutputStream
// Obtenga ClientID y ClientSecret de https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// crear objeto de imagen
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// cargar imagen SVG desde el sistema local
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// crear objeto de solicitud de carga de archivo
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// cargar imagen SVG al almacenamiento en la nube
imageApi.uploadFile(uploadRequest);

// especificar el formato de salida de la imagen
String format = "PNG";

// Crear objeto de solicitud de conversión de imagen
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// convertir SVG a PNG y devolver la imagen en el flujo de respuesta
byte[] resultantImage = imageApi.convertImage(convertImage);

// Guardar imagen PNG en el almacenamiento local
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();

La imagen SVG de entrada utilizada en el ejemplo anterior se puede descargar desde FileExtension Icons.svg.

svg a png

Imagen: - convertir svg a png en línea Vista previa

Guardar SVG como PNG usando comandos cURL

Aspose.Imaging Cloud está desarrollado de acuerdo con la arquitectura REST, por lo que podemos guardar la imagen como png usando los comandos cURL. Ahora, el primer paso es generar un token de acceso JWT (basado en las credenciales del cliente) usando el siguiente comando.

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"

Una vez que se genera el token JWT, ejecute el siguiente comando para convertir el formato SVG a 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

Conclusión

Hemos aprendido los detalles sobre cómo podemos convertir SVG a PNG usando un fragmento de código Java. Al mismo tiempo, hemos explorado la opción de convertir SVG a PNG usando los comandos cURL. Además, si desea modificar el código fuente del SDK, puede descargarlo desde GitHub (todos nuestros Cloud SDK están desarrollados bajo licencia MIT). Además, una de las opciones para probar las características prometedoras de la API es a través de SwaggerUI dentro del navegador web.

No obstante, la Documentación del producto es una excelente fuente de información para conocer otras características interesantes que ofrece la API. Por último, en caso de que encuentre algún problema al usar la API, puede considerar acercarse a nosotros para una resolución rápida de forma gratuita. foro de soporte de productos.

Artículos relacionados

Visite los siguientes enlaces para obtener más información sobre: