Sempre que a transparência é necessária em imagens na web, o PNG é um dos formatos que vem à mente. A imagem SVG também é um dos formatos de imagem mais usados devido à sua escalabilidade. Para exibir pequenas imagens estáticas, logotipos e imagens com fundos transparentes, as imagens PNG geralmente são preferidas. Devido à compatibilidade ou por qualquer outro motivo, muitas vezes é necessário converter gráficos vetoriais SVG em outros formatos. Este artigo discute como converter gráficos vetoriais SVG em imagens PNG usando C#.

Converter SVG para PNG usando C# (Grayscale, Rotate, Flip, Bright Watermark)

API .NET para converter imagens

O GroupDocs capacita os desenvolvedores com sua API de conversão para converter formatos de imagem em vários outros formatos. A imagem convertida também pode ser alterada durante o processo de conversão usando diferentes opções avançadas. Neste artigo, usarei seu GroupDocs.Conversion for .NET para converter a imagem vetorial SVG em imagens PNG.

Você pode baixar as DLLs ou o instalador MSI da seção de downloads ou instalar a API adicionando seu pacote ao seu aplicativo .NET via NuGet.

PM> Install-Package GroupDocs.Conversion

Exemplos de execução para seus recursos também estão disponíveis no GitHub. Visite sua documentação e Referência da API para obter orientação.

Converter SVG para imagem PNG usando C#

Vamos começar com a conversão de gráficos vetoriais para o formato PNG usando as configurações padrão. As etapas a seguir mostram como converter a imagem SVG em PNG usando C#.

  • Carregue o arquivo SVG usando a classe Converter.
  • Prepare as opções de conversão de imagem.
  • Defina o tipo de arquivo de conversão como PNG.
  • Invoque o método Convert() com opções preparadas.

O código-fonte C# a seguir converte o SVG em uma imagem PNG.

// Como converter o arquivo SVG para o formato PNG em C# usando a API de conversão .NET com opções padrão
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png
    };
    converter.Convert("path/svg-to-png.png", options);
}

SVG para imagem PNG usando opções avançadas usando C#

Várias personalizações podem ser aplicadas à saída PNG durante a conversão dos gráficos vetoriais. Aqui estão alguns dos recursos de imagem PNG que podemos ajustar:

  • Brilho
  • Contraste
  • Gama
  • Escala de cinza
  • Modo de inversão (horizontal / vertical)
  • Ângulos de rotação
  • Altura
  • Largura
  • Marca d’água

As etapas a seguir mostram como converter uma imagem SVG em PNG e aplicar ajustes adicionais ao arquivo PNG resultante.

  • Carregue o gráfico SVG usando a classe Converter.
  • Prepare as opções de conversão de imagem.
  • Defina o tipo de arquivo de conversão como PNG.
  • Defina as personalizações seletivas e ajuste seus valores.
  • Converta para uma imagem PNG usando o método Convert() com opções preparadas.

O código-fonte a seguir aplica a personalização na conversão de SVG para PNG usando C#. Você pode aplicar qualquer um deles ou a combinação de efeitos para a saída PNG desejada.

// Converta o arquivo SVG em formato PNG em C# usando várias personalizações
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,
        */
    };
    // Aplicando marca d'água na imagem 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);
}

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar a API sem as limitações de avaliação.

Conclusão

Vamos concluir. Aprendemos a conversão básica e pouco avançada de gráficos vetoriais SVG para o formato PNG usando C# em aplicativos .NET. Aprendemos ainda a girar, inverter ou adicionar marca d’água a arquivos SVG quando convertidos para o formato PNG. Além disso, aprendemos a ajustar a gama e o brilho e como LIGAR e DESLIGAR as opções de escala de cinza.

Tente executar exemplos do GitHub que o ajudarão a construir seu próprio conversor de SVG para PNG semelhante ao disponível em groupdocs.app. Contacte-nos para qualquer questão através do fórum.

Veja também