
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.

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#.
- Primeiro, carregue o arquivo de imagem usando a classe Image.
- Em seguida, gire a imagem em 270 graus usando o método Image.RotateFlip(RotateFlipType.Rotate270FlipNone).
- Finalmente, salve a imagem atualizada usando o método Image.Save(string).
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
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#.
- Primeiro, carregue o arquivo de imagem usando a classe Image.
- Em seguida, inverta a imagem horizontalmente usando o método Image.RotateFlip(RotateFlipType.RotateNoneFlipX).
- Finalmente, salve a imagem atualizada usando o método Image.Save(string).
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
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#.
- Primeiro, carregue o arquivo de imagem usando a classe Image.
- Em seguida, gire a imagem em 180 graus e gire-a horizontalmente usando o método Image.RotateFlip(RotateFlipType.Rotate180FlipX).
- Finalmente, salve a imagem atualizada usando o método Image.Save(string).
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 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.