Rotar o voltear imágenes en C# .NET

Mientras trabaja con imágenes, es posible que a menudo necesite rotarlas en diferentes ángulos. Además, los giros horizontales y verticales también se utilizan en varios casos. Ambos se consideran las características clave de cada editor de imágenes. En este artículo, aprenderá cómo rotar y voltear imágenes mediante programación en C#.

C# .NET API para rotar y voltear imágenes

Para rotar y voltear imágenes desde aplicaciones .NET, usaremos Aspose.Imaging for .NET. Es una API de procesamiento de imágenes que proporciona una amplia gama de funciones para manipular varios tipos de imágenes. Además, oculta las operaciones complejas y facilita bastante el procesamiento de imágenes. Puede descargar la API o instalarla en sus aplicaciones .NET usando NuGet.

PM> Install-Package Aspose.Imaging

Girar y voltear una imagen en C#

Para rotar una imagen, debe especificar un ángulo de rotación. Los ángulos más utilizados son 90, 180 y 270 grados. Además de eso, las imágenes se voltean horizontal o verticalmente. Aspose.Imaging for .NET se encarga de la rotación y de voltear al mismo tiempo. Para esto, la API proporciona una enumeración RotateFlipType para especificar el ángulo de rotación y el tipo de volteo. Puede realizar las siguientes operaciones de volteo/rotación en una imagen:

  • Girar solo
  • Voltear solo
  • Tanto rotar como voltear

Veamos cómo realizar cada una de las operaciones mencionadas anteriormente en la siguiente imagen.

Imagen para rotar y voltear

Rotar una imagen en C#

Primero, echemos un vistazo a cómo rotar una imagen. Las siguientes opciones se utilizan para rotar una imagen sin voltearla.

  • Rotate180FlipNone: rotación de 180 grados sin voltear
  • Rotate270FlipNone: rotación de 270 grados sin voltear
  • Rotate90FlipNone: rotación de 90 grados sin voltear

Los siguientes son los pasos para realizar la rotación de una imagen en C#.

El siguiente fragmento de código muestra cómo rotar una imagen a un ángulo particular.

// Cargue una imagen en una instancia de Imagen
using (Image image = Image.Load("image.bmp"))
{
    // Girar la imagen
    image.RotateFlip(RotateFlipType.Rotate270FlipNone);

    // Guardar imagen
    image.Save("image-rotated.bmp");
}

La siguiente es la imagen rotada que obtenemos después de ejecutar este código.

rotar una imagen en C#

Girar una imagen

Voltear una imagen en C#

Ahora, eche un vistazo a cómo voltear una imagen sin rotación. Para ello, se utilizan los siguientes miembros RotateFlipType.

  • RotateNoneFlipX: sin rotación con volteo horizontal
  • RotateNoneFlipY: sin rotación con volteo vertical
  • RotateNoneFlipXY: sin rotación con volteo horizontal y vertical

Los siguientes son los pasos para voltear una imagen en C#.

El siguiente ejemplo de código muestra cómo voltear una imagen en aplicaciones .NET.

// Cargue una imagen en una instancia de Imagen
using (Image image = Image.Load("image.bmp"))
{
    // Voltear la imagen
    image.RotateFlip(RotateFlipType.RotateNoneFlipX);

    // Guardar imagen
    image.Save("image-flipped.bmp");
}

La siguiente captura de pantalla muestra cómo se voltea la imagen usando el fragmento de código anterior.

Voltear una imagen en C#

Voltear una imagen

Girar y voltear una imagen en C#

En esta sección, veremos cómo rotar y voltear la imagen al mismo tiempo. Para lograr esto, se utilizan los siguientes miembros de la enumeración RotateFlipType.

  • Rotate180FlipX: rotación de 180 grados con volteo horizontal
  • Rotate180FlipXY: rotación de 180 grados con volteo horizontal y vertical
  • Rotate180FlipY: rotación de 180 grados con volteo vertical
  • Rotate270FlipX: rotación de 270 grados con volteo horizontal
  • Rotate270FlipXY: rotación de 270 grados con volteo horizontal y vertical
  • Rotate270FlipY: rotación de 270 grados con volteo vertical
  • Rotate90FlipX: rotación de 90 grados con volteo horizontal
  • Rotate90FlipXY: rotación de 90 grados con volteo horizontal y vertical
  • Rotate90FlipY: rotación de 90 grados con volteo vertical

Los siguientes son los pasos para rotar y voltear una imagen en C#.

El siguiente fragmento de código de C# muestra cómo realizar la rotación y el volteo al mismo tiempo.

// Cargue una imagen en una instancia de Imagen
using (Image image = Image.Load("image.bmp"))
{
    // Rotar y voltear la imagen
    image.RotateFlip(RotateFlipType.Rotate180FlipX);

    // Guardar imagen
    image.Save("image-rotated-flipped.bmp");
}

La siguiente captura de pantalla muestra cómo se ve la imagen después de aplicar la rotación y el volteo.

Rotar y voltear una imagen en C#

Girar y voltear una imagen

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para usar Aspose.Imaging for .NET sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido a rotar y voltear imágenes mediante programación en C#. Además, la guía paso a paso y los ejemplos de código han demostrado cómo rotar una imagen, voltear una imagen y rotar y voltear una imagen al mismo tiempo. Además, puede explorar más sobre la API de procesamiento de imágenes de .NET usando documentación. Además, puede descargar las muestras del código fuente de la API desde GitHub. En caso de cualquier consulta, puede comunicarse con nosotros en nuestro foro.

Ver también