alterar cor SVG csharp

As imagens SVG estão se tornando populares por causa de seus recursos de escalabilidade e qualidade. Em alguns cenários, pode ser necessário alterar a cor das imagens SVG para torná-las mais atraentes. Este artigo aborda como alterar a cor de diferentes elementos SVG programaticamente em C#.

Trabalhar com a cor dos elementos SVG – Instalação da API C# .NET

Você pode manipular a cor de diferentes elementos SVG como Circle, Line, etc. com a API Aspose.SVG for .NET. Basta baixar os arquivos DLL do New Releases, ou usar o seguinte comando de instalação NuGet:

PM> Install-Package Aspose.SVG

Alterar a cor do elemento Circle do SVG em C#

Você pode alterar a cor do elemento circle do SVG em C# com as seguintes etapas:

  1. Crie uma instância da classe SVGDocument para carregar o arquivo SVG de entrada.
  2. Obtenha o elemento SVG raiz e círculo do documento.
  3. Defina o atributo e a cor do elemento SVG.
  4. Salve a imagem SVG de saída.

O trecho de código abaixo explica como alterar a cor do elemento circle do SVG em C#:

// Carregar um documento SVG do arquivo
SVGDocument document = new SVGDocument("shapes.svg");

// Obter elemento svg raiz do documento
SVGElement svgElement = document.RootElement;

// Obter elemento de círculo para mudar de cor
SVGCircleElement circleElement = svgElement.QuerySelector("circle") as SVGCircleElement;

// Defina um novo valor de atributo "preenchimento" para o elemento circle
circleElement.SetAttribute("fill", "blue");

// Salve o documento SVG
document.Save("circle-color.svg");

Alterar a cor do elemento de linha do SVG em C#

Siga as etapas abaixo para alterar a cor do elemento Line em uma imagem SVG em C#:

  • Inicialize um objeto da classe SVGDocument para carregar a imagem SVG de origem.
  • Obtenha raiz e elemento de linha para modificar a cor.
  • Salve o arquivo SVG de saída usando o método Salvar.

O trecho de código a seguir mostra como alterar a cor da linha no arquivo SVG programaticamente em C#:

// Carregar um documento SVG do arquivo
SVGDocument document = new SVGDocument("basic-shapes.svg");

// Obter elemento svg raiz do documento
SVGSVGElement svgElement = document.RootElement;

// Obter elemento de linha para mudar de cor
SVGLineElement lineElement = svgElement.QuerySelector("line") as SVGLineElement;

// Defina um novo valor de atributo "stroke" para o elemento de linha
lineElement.SetAttribute("stroke", "blue");

// Salve o documento SVG
document.Save("line-color.svg");

Defina a cor de fundo da imagem SVG em C#

Você pode aprimorar a aparência das imagens SVG definindo a cor de fundo das imagens SVG com as seguintes etapas:

  • Defina o namespace SVG e carregue o arquivo de entrada.
  • Crie um elemento retângulo e defina propriedades diferentes.
  • Adicione o elemento retângulo como primeiro filho e salve o arquivo de saída.

O trecho de código abaixo demonstra como definir a cor de fundo da imagem SVG programaticamente em C#:

// Definir URL do namespace SVG
string SvgNamespace = "http://www.w3.org/2000/svg";

// Carregar um documento SVG do arquivo
SVGDocument document = new SVGDocument("basic-shapes.svg");

// Obter elemento svg raiz do documento
SVGSVGElement svgElement = document.RootElement;

// Crie um elemento retângulo e defina o valor do atributo "preenchimento" para alterar a cor do plano de fundo
SVGRectElement rectElement = (SVGRectElement)document.CreateElementNS(SvgNamespace, "rect");
rectElement.X.BaseVal.Value = 3;
rectElement.Y.BaseVal.Value = 3;
rectElement.Width.BaseVal.Value = 400;
rectElement.Height.BaseVal.Value = 400;
rectElement.SetAttribute("fill", "Salmon");

// Adicione o elemento retângulo como o primeiro filho do elemento SVG
svgElement.InsertBefore(rectElement, svgElement.FirstChild);

// Salve o documento SVG
document.Save("background-color.svg");

Obtenha Licença de Avaliação Gratuita

Você pode avaliar a API sem limitações de avaliação obtendo uma licença de avaliação gratuita.

Conclusão

Neste artigo, você aprendeu como alterar a cor de diferentes elementos em uma imagem SVG. Da mesma forma, os detalhes sobre como definir a cor de fundo de uma imagem SVG também são discutidos aqui. Além disso, você pode dar uma olhada em outros recursos da API na seção documentação. Em caso de dúvidas, escreva-nos para o fórum.

Veja também

Converter SVG para HTML no Linux em C#