Siempre que se necesita transparencia en las imágenes en la web, PNG es uno de los formatos que vienen a la mente. La imagen SVG también es uno de los formatos de imagen más utilizados debido a su escalabilidad. Para mostrar pequeñas imágenes estáticas, logotipos y para imágenes con fondos transparentes, a menudo se prefieren las imágenes PNG. Debido a la compatibilidad o por cualquier otro motivo, a menudo es necesario convertir gráficos vectoriales SVG a otros formatos. Este artículo explica cómo convertir gráficos vectoriales SVG a imágenes PNG usando C#.

Convierta SVG a PNG usando C# (escala de grises, rotar, voltear, marca de agua brillante)

API .NET para convertir imágenes

GroupDocs empodera a los desarrolladores con su API de conversión para convertir formatos de imagen en varios otros formatos. La imagen convertida también se puede modificar durante el proceso de conversión utilizando diferentes opciones avanzadas. En este artículo, usaré su GroupDocs.Conversion for .NET para convertir la imagen vectorial SVG en imágenes PNG.

Puede descargar el instalador de DLL o MSI desde la sección de descargas o instalar la API agregando su paquete a su aplicación .NET a través de NuGet.

PM> Install-Package GroupDocs.Conversion

Los ejemplos de ejecución de sus características también están disponibles en GitHub. Visite su documentación y Referencia API para obtener orientación.

Convertir imagen SVG a PNG usando C#

Comencemos con la conversión de gráficos vectoriales a formato PNG usando la configuración predeterminada. Los siguientes pasos muestran cómo convertir la imagen SVG en PNG usando C#.

  • Cargue el archivo SVG usando la clase Converter.
  • Prepara las opciones de conversión de imágenes.
  • Establezca el tipo de archivo de conversión como PNG.
  • Invoque el método Convert() con opciones preparadas.

El siguiente código fuente de C# convierte el SVG en una imagen PNG.

// Cómo convertir un archivo SVG a formato PNG en C# usando la API de conversión .NET con opciones predeterminadas
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png
    };
    converter.Convert("path/svg-to-png.png", options);
}

Imagen SVG a PNG usando Opciones Avanzadas usando C#

Se pueden aplicar varias personalizaciones a la salida PNG durante la conversión de los gráficos vectoriales. Estas son algunas de las características de la imagen PNG que podemos ajustar:

  • Brillo
  • Contraste
  • Gama
  • escala de grises
  • Modo Flip (Horizontal / Vertical)
  • Ángulos de rotación
  • Altura
  • Ancho
  • Filigrana

Los siguientes pasos muestran cómo convertir una imagen SVG a PNG y aplicar ajustes adicionales al archivo PNG resultante.

  • Cargue el gráfico SVG usando la clase Converter.
  • Prepara las opciones de conversión de imágenes.
  • Establezca el tipo de archivo de conversión como PNG.
  • Defina las personalizaciones selectivas y ajuste sus valores.
  • Convierta a una imagen PNG usando el método Convert() con opciones preparadas.

El siguiente código fuente aplica la personalización en la conversión de SVG a PNG usando C#. Puede aplicar cualquiera de estos o la combinación de efectos para la salida PNG deseada.

// Convierta un archivo SVG a formato PNG en C# usando varias personalizaciones
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png,
        FlipMode = ImageFlipModes.FlipY,
        RotateAngle = 45, 
        Grayscale = true
        /*
        Brightness = 50,
        Contrast = 50,
        Gamma = 0.5F,
        */
    };
    // Aplicación de marca de agua en la imagen convertida
    WatermarkOptions watermark = new WatermarkTextOptions("Watermark")
    {
        Color = Color.Blue,
        Width = 150,
        Height = 150,
        Background = false,
        Top = 50,
        Left = 50,
        RotationAngle = -45,
        Transparency = 50,
    };
    options.Watermark = watermark;
    
    converter.Convert("path/svg-to-png-customized.png", options);
}

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para usar la API sin las limitaciones de evaluación.

Conclusión

Concluyamos. Aprendimos la conversión básica y poco avanzada de gráficos vectoriales SVG a formato PNG usando C# dentro de aplicaciones .NET. Además, aprendimos cómo rotar, voltear o agregar marcas de agua a archivos SVG cuando se convierten a formato PNG. Además, aprendimos a ajustar la gamma y el brillo, y cómo ACTIVAR y DESACTIVAR las opciones de escala de grises.

Intente ejecutar ejemplos de GitHub que lo ayudarán a crear su propio convertidor de SVG a PNG similar al que está disponible en groupdocs.app. Contacta con nosotros para cualquier consulta a través del foro.

Ver también