Girar ou inverter imagens em C# .NET

Ao trabalhar com imagens, muitas vezes você pode precisar girá-las em ângulos diferentes. Além disso, flips horizontais e verticais também são usados em vários casos. Ambos são considerados os principais recursos de todo editor de imagens. Neste artigo, você aprenderá como girar e inverter imagens programaticamente em C#.

API C# .NET para girar e inverter imagens

Para girar e inverter imagens de aplicativos .NET, usaremos Aspose.Imaging for .NET. É uma API de processamento de imagens que fornece uma ampla gama de recursos para manipular vários tipos de imagens. Além disso, oculta as operações complexas e facilita bastante o processamento da imagem. Você pode baixar a API ou instalá-la em seus aplicativos .NET usando NuGet.

PM> Install-Package Aspose.Imaging

Girar e inverter uma imagem em C#

Para girar uma imagem, você precisa especificar um ângulo de rotação. Os ângulos mais usados são 90, 180 e 270 graus. Além disso, as imagens são invertidas horizontalmente ou verticalmente. Aspose.Imaging para .NET cuida da rotação e também da inversão ao mesmo tempo. Para isso, a API fornece a enumeração RotateFlipType para especificar o ângulo de rotação e o tipo de inversão. Você pode realizar as seguintes operações de virar/girar em uma imagem:

  • Girar apenas
  • Apenas virar
  • Ambos giram e giram

Vamos ver como realizar cada uma das operações mencionadas acima na imagem a seguir.

Imagem para rotação e inversão

Girar uma imagem em C#

Primeiro, vamos dar uma olhada em como girar uma imagem. As opções a seguir são usadas para girar uma imagem sem virar.

  • Rotate180FlipNone: rotação de 180 graus sem virar
  • Rotate270FlipNone: rotação de 270 graus sem virar
  • Rotate90FlipNone: rotação de 90 graus sem virar

A seguir estão as etapas para executar a rotação de uma imagem em C#.

O trecho de código a seguir mostra como girar uma imagem em um ângulo específico.

// Carregar uma imagem em uma instância de Image
using (Image image = Image.Load("image.bmp"))
{
    // Girar a imagem
    image.RotateFlip(RotateFlipType.Rotate270FlipNone);

    // Salvar imagem
    image.Save("image-rotated.bmp");
}

A seguir está a imagem girada que obtemos depois de executar este código.

girar uma imagem em C#

Girar uma imagem

Virar uma imagem em C#

Agora, dê uma olhada em como virar uma imagem sem rotação. Para isso, os seguintes membros RotateFlipType são usados.

  • RotateNoneFlipX: Sem rotação com inversão horizontal
  • RotateNoneFlipY: Sem rotação com inversão vertical
  • RotateNoneFlipXY: Sem rotação com inversão horizontal e vertical

A seguir estão as etapas para inverter uma imagem em C#.

O exemplo de código a seguir mostra como inverter uma imagem em aplicativos .NET.

// Carregar uma imagem em uma instância de Image
using (Image image = Image.Load("image.bmp"))
{
    // Vire a imagem
    image.RotateFlip(RotateFlipType.RotateNoneFlipX);

    // Salvar imagem
    image.Save("image-flipped.bmp");
}

A captura de tela a seguir mostra como a imagem é invertida usando o snippet de código acima.

Virar uma imagem em C#

Virar uma imagem

Girar e inverter uma imagem em C#

Nesta seção, veremos como girar e inverter a imagem ao mesmo tempo. Para conseguir isso, os seguintes membros de RotateFlipType enum são usados.

  • Rotate180FlipX: rotação de 180 graus com inversão horizontal
  • Rotate180FlipXY: rotação de 180 graus com inversão horizontal e vertical
  • Rotate180FlipY: rotação de 180 graus com inversão vertical
  • Rotate270FlipX: rotação de 270 graus com inversão horizontal
  • Rotate270FlipXY: rotação de 270 graus com inversão horizontal e vertical
  • Rotate270FlipY: rotação de 270 graus com inversão vertical
  • Rotate90FlipX: rotação de 90 graus com inversão horizontal
  • Rotate90FlipXY: rotação de 90 graus com inversão horizontal e vertical
  • Rotate90FlipY: rotação de 90 graus com inversão vertical

A seguir estão as etapas para girar e inverter uma imagem em C#.

O trecho de código C# a seguir mostra como executar rotação e inversão ao mesmo tempo.

// Carregar uma imagem em uma instância de Image
using (Image image = Image.Load("image.bmp"))
{
    // Gire e inverta a imagem
    image.RotateFlip(RotateFlipType.Rotate180FlipX);

    // Salvar imagem
    image.Save("image-rotated-flipped.bmp");
}

A captura de tela a seguir mostra como a imagem fica depois de aplicarmos a rotação e a inversão.

Girar e virar uma imagem em C#

Girar e inverter uma imagem

Obtenha uma licença de API gratuita

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

Conclusão

Neste artigo, você aprendeu como girar e inverter imagens programaticamente em C#. Além disso, o guia passo a passo e os exemplos de código demonstraram como girar uma imagem, inverter uma imagem e girar e inverter uma imagem ao mesmo tempo. Além disso, você pode explorar mais sobre a API de processamento de imagem .NET usando documentação. Além disso, você pode baixar os exemplos de código-fonte da API do GitHub. Em caso de dúvidas, você pode entrar em contato conosco em nosso fórum.

Veja também