Girar imagem SVG C#

Os arquivos SVG definem os gráficos no formato XML. Eles podem ser dimensionados ou impressos em qualquer tamanho sem prejudicar a qualidade da imagem. Em alguns casos, pode ser necessário girar uma imagem SVG. Da mesma forma, este artigo aborda como girar uma imagem SVG programaticamente em C#.

Rotação de imagem C# SVG – Instalação da API

Aspose.SVG for .NET suporta trabalhar com arquivos SVG. Você pode editar, atualizar ou criar imagens SVG a partir de seus aplicativos baseados em .NET Framework. Basta baixar os arquivos DLL de referência da página Downloads ou executar o comando de instalação do NuGet abaixo:

PM> Install-Package Aspose.SVG

Como girar o arquivo de imagem SVG programaticamente em C

Você pode girar um arquivo de imagem SVG com as seguintes etapas:

  1. Abra o arquivo SVG de entrada e crie um elemento gráfico.
  2. Defina a transformação de rotação e especifique o grau de rotação.
  3. Anexe o elemento gráfico.
  4. Salve a imagem SVG girada.

Girar uma imagem SVG programaticamente em C#

Você precisa seguir as etapas abaixo para girar uma imagem SVG em C#:

  1. Carregue o arquivo SVG de entrada com a classe SVGDocument.
  2. Mencione o ângulo para rotação e defina a transformação de rotação.
  3. Anexe o elemento gráfico.
  4. Grave a imagem SVG girada de saída usando o método Salvar.

O código abaixo explica como girar uma imagem SVG com conteúdo HTML incorporado programaticamente usando C#:

// Abra o documento SVG
using var document = new SVGDocument("example.svg");

var svg = document.RootElement as SVGElement;
var bbox = document.RootElement.GetBBox();

if (svg == null)
    return;

// Criar elemento gráfico g;
var g = (SVGGElement)document.CreateElementNS("http://www.w3.org/2000/svg", "g");

// Definir transformação de rotação 
g.SetAttribute("transform", $"rotate(45,{(bbox.X + bbox.Width) / 2f}, {(bbox.Y + bbox.Height) / 2f})");

// Copie os filhos do elemento svg para o elemento g
foreach (var childNode in svg.ChildNodes)
    g.AppendChild(childNode.CloneNode(true));
var child = svg.LastElementChild;

// Remover filhos de svg
while (child != null)
{
    svg.RemoveChild(child);
    child = svg.LastElementChild;
}

// Anexar gel ao elemento svg
document.RootElement.AppendChild(g);

// Salvar documento modificado
document.Save("roatedexample.svg");

Obtenha licença de API gratuita

Você pode solicitar uma licença temporária gratuita para testar a API em sua capacidade total.

Conclusão

Neste artigo, você aprendeu como girar uma imagem SVG programaticamente em C#. Além disso, você pode visitar a seção documentação para conhecer outros recursos da API. Em caso de ambiguidade, sinta-se à vontade para entrar em contato conosco no fórum.

Veja também