SVG a PNG

Convertir SVG a PNG en línea | Guardar SVG a PNG

Los gráficos vectoriales escalables (SVG, por sus siglas en inglés) definen gráficos basados en vectores para la Web. SVG es un formato de imagen vectorial basado en XML para gráficos bidimensionales con soporte para interactividad y animación. Este formato es popular para representar imágenes bidimensionales en Internet, donde las imágenes pueden escalarse a cualquier tamaño. Pero, en caso de que necesitemos convertir SVG a PNG 2 para una compresión sin pérdida de detalle y calidad, entonces Aspose.Imaging Cloud es una solución viable.

Este artículo proporciona detalles sobre cómo convertir SVG a PNG en línea.

API de conversión de imágenes

Aspose.Imaging Cloud es nuestra solución de programación para los requisitos de procesamiento de imágenes. Puede realizar operaciones que incluyen cambiar el tamaño, recortar, rotar, escalar, voltear, buscar y exportar imágenes a varios formatos compatibles. Para facilitar aún más la tarea a nuestros usuarios, hemos creado SDK específicos para lenguajes de programación y, según el alcance de este artículo, vamos a utilizar el SDK de Aspose.Imaging Cloud para .NET. Ahora, visite el siguiente enlace para obtener más información sobre Cómo instalar los SDK de Aspose.Cloud.

Convertir SVG a PNG en C#

Siga las instrucciones a continuación para convertir una imagen SVG ya disponible en el almacenamiento en la nube al formato PNG.

  • El primer paso es crear una instancia de ImagingApi mientras se pasan los detalles de ClientID y ClientSecret como argumentos.
  • En segundo lugar, cargue la imagen SVG al almacenamiento en la nube utilizando el método UploadFile(..) de ImagingApi.
  • En tercer lugar, cree una instancia de la clase ConvertImageRequest mientras pasa el nombre del SVG de entrada y el formato resultante como argumentos.
  • Ahora llame al método ConvertImage(..) para realizar la operación de conversión. El PNG resultante se devuelve como una instancia de Stream.
  • Por último, llame al método personalizado usando File.Create para guardar la instancia de Stream como un archivo en una unidad local.
// Para ver ejemplos completos, visite https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet
// Obtenga las credenciales del cliente desde https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// crear un objeto de DiagramApi
ImagingApi imagingApi = new ImagingApi(clientSecret,clientID, "https://api.aspose.cloud/");

// nombre del archivo SVG de entrada
String inputFileName = "trashloader2.svg";
// formato de archivo resultante
String newFormat = "png";
// nombre del archivo de salida
String newFileName = "Converted.png";

try
{
    // cargar el archivo desde la unidad local
    using (var inputStream = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + inputFileName))
    {
        // crear solicitud de carga de archivos    
        UploadFileRequest request = new UploadFileRequest(inputFileName, inputStream);
        // Subir archivo al almacenamiento en la nube predeterminado
        imagingApi.UploadFile(request);
                
        // crear una instancia para conversión de imágenes
        var response = new ConvertImageRequest(inputFileName,newFormat);
        // Iniciar la operación de conversión de imagen
        var responseStream = imagingApi.ConvertImage(response);
                
        // Guardar la instancia de transmisión como archivo en el almacenamiento local
        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();
}

Para su referencia, las imágenes de muestra utilizadas en el ejemplo anterior se pueden descargar de trashloader2.svg y Converted.png.

Vista previa de conversión de SVG a PNG

Imagen 1: Vista previa de conversión de SVG a PNG.

SVG a PNG usando comandos cURL

En esta sección, realizaremos la conversión de SVG a PNG mediante comandos cURL. El primer paso es generar un token de acceso JWT basado en las credenciales del cliente. Ejecute el siguiente comando para generar uno:

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"

Ahora ejecute el siguiente comando cURL para convertir SVG a PNG, donde el resultado se devuelve como un flujo de respuesta y se puede guardar en una unidad local.

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

En caso de que tenga el requisito de convertir una imagen SVG pasada como contenido multipart/form-data indexado en cero o como una secuencia de cuerpo sin formato.

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

Conclusión

Hemos analizado las capacidades de conversión de imágenes de la API de Aspose.Imaging Cloud. El enfoque específico ha estado en la conversión de SVG a PNG usando un fragmento de código C# .NET. Al mismo tiempo, hemos analizado los detalles sobre cómo guardar SVG a PNG a través de comandos cURL. Tenga en cuenta que también se puede acceder a la API a través de la interfaz Swagger y puede probar la API dentro del navegador web. Sin embargo, los SDK de Cloud se desarrollan bajo una licencia MIT, por lo que se puede descargar un código fuente completo desde GitHub.

En caso de que encuentre algún problema al usar la API o tenga alguna consulta relacionada, no dude en contactarnos a través del foro de soporte de productos gratuito.

Enlaces relacionados

Te recomendamos visitar los siguientes enlaces para conocer más sobre: