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