svg a png

Convertir SVG a PNG en Java

Las imágenes SVG destacan porque son escalables y mantienen la misma calidad, independientemente del tamaño o la resolución de la pantalla. Se pueden diseñar en cualquier resolución, y pueden aumentar o reducir el tamaño, sin dañar la calidad (o pixelarse). Pero, dado que las imágenes SVG se basan en puntos y rutas, en lugar de píxeles, no pueden mostrar tantos detalles como una imagen rasterizada. Entonces, si convertimos la imagen SVG a 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 de SDK, debemos agregar su referencia en nuestro proyecto Java al incluir 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>

Ahora, para usar la API, necesitamos nuestras credenciales de cliente personalizadas. Se pueden obtener fácilmente si ya está registrado en Aspose Cloud Dashboard. De lo contrario, registre una cuenta gratuita a través de una dirección de correo electrónico válida y obtenga sus credenciales de cliente.

Convertir SVG a PNG en Java

Nuestra API de procesamiento de imágenes es capaz de convertir PNG a SVG y SVG a PNG con líneas de código mínimas. Entonces, en esta sección, discutiremos todos los detalles para convertir SVG a PNG usando Java.

  • En primer lugar, cree un objeto de la clase ImagingApi donde pasemos las credenciales del cliente como argumento
  • En segundo lugar, lea el contenido de la imagen SVG usando el método readAllBytes(…) y devuélvalo a la matriz byte[]
  • Luego cree una instancia de UploadFileRequest mientras pasa el nombre SVG y cárguelo en el almacenamiento en la nube usando el método uploadFile(…)
  • Ahora crea un objeto de ConvertImageRequest, donde pasamos el nombre SNG de entrada y el formato resultante como “PNG”
  • Llame al método convertImage(…) para iniciar la conversión de SVG a PNG. Luego, la salida 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

Dado que Aspose.Imaging Cloud está desarrollado de acuerdo con la arquitectura REST, se puede acceder fácilmente a él a través de los comandos cURL. Entonces, en esta sección, vamos a guardar SVG 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 guardar SVG como imagen 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

Al final de este artículo, hemos aprendido los detalles sobre cómo podemos convertir SVG a PNG usando Java. Al mismo tiempo, también hemos explorado la opción de convertir SVG a PNG usando los comandos cURL. Además, si desea obtener el código fuente del SDK y modificarlo según sus requisitos, puede descargarlo desde GitHub (nuestros Cloud SDK están desarrollados bajo licencia MIT). Tenga en cuenta que otra opción para probar las increíbles características de la API es a través de SwaggerUI dentro del navegador web.

No obstante, la Documentación del producto es un repositorio maravilloso de artículos que explican otras características interesantes de la API. Por último, en caso de que encuentre algún problema al usar la API, puede considerar comunicarse con nosotros a través del [foro de soporte del producto] gratuito 9.

Artículos relacionados

Recomendamos encarecidamente visitar los siguientes enlaces para obtener más información sobre: