Recortar imágenes en C#

La edición de imágenes es bastante común en estos días y, en varios casos, necesitamos manipular las imágenes para obtener los resultados deseados. Como programador, es posible que implemente las funciones de edición de imágenes desde las aplicaciones que está creando. Recientemente, hemos cubierto cómo cambiar el tamaño, rotar y voltear imágenes mediante programación. Hoy, le mostraremos cómo recortar imágenes usando C# en sus aplicaciones .NET. Discutiremos cómo realizar el recorte de imágenes usando valores de desplazamiento o con un rectángulo.

API de C# para recortar imágenes - Descarga gratuita

Para recortar imágenes en C#, usaremos Aspose.Imaging for .NET. Es una API rica en funciones para manipular sin problemas las imágenes de formatos populares. Puede descargar la API o instalarla en sus aplicaciones .NET usando NuGet.

PM> Install-Package Aspose.Imaging

Recortar imágenes en C#

Aspose.Imaging for .NET proporciona dos formas de recortar una imagen. En el primer método, necesitamos proporcionar valores de desplazamiento a la izquierda, a la derecha, arriba y abajo. Mientras que, en el segundo método, definimos un rectángulo para recortar un área determinada de una imagen.

En las siguientes secciones, demostraremos cómo usar los dos métodos mencionados anteriormente para recortar imágenes en C#.

Recortar imágenes con valores de desplazamiento en C#

Los siguientes son los pasos para recortar una imagen usando valores de desplazamiento en C#.

  • Primero, cargue la imagen en un objeto RasterImage usando el método Image.Load().
  • Guarde en caché la imagen para un mejor rendimiento.
  • Defina los valores de desplazamiento a la izquierda, a la derecha, arriba y abajo.
  • Pase los valores de desplazamiento al método RasterImage.Crop() para recortar la imagen.
  • Guarde la imagen recortada usando el método RasterImage.Save().

El siguiente ejemplo de código muestra cómo recortar una imagen en C#.

// Cargue la imagen a recortar.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Antes de recortar, la imagen debe almacenarse en caché para un mejor rendimiento.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Defina valores de desplazamiento para los cuatro lados.
    int leftShift = 10;
    int rightShift = 10;
    int topShift = 50;
    int bottomShift = 50;

    // Según los valores de cambio, aplique el recorte en la imagen. El método de recorte desplazará los límites de la imagen hacia el centro de la imagen.
    rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);

    // Guardar imagen recortada.
    rasterImage.Save("cropped.png");
}

La siguiente es la imagen de entrada que usamos para recortar.

recortar imagen en C#

A continuación se muestra la imagen recortada resultante.

recorte de imagen en C#

Recorte de imagen en C# usando Rectangle

También puede definir un rectángulo para recortar el área deseada de una imagen. Los siguientes pasos demuestran el recorte de imágenes con un rectángulo en C#.

El siguiente ejemplo de código muestra cómo realizar el recorte de imágenes con un rectángulo en C#.

// Carga la imagen.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Antes de recortar, la imagen debe almacenarse en caché para un mejor rendimiento.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Cree una instancia de la clase Rectangle con el tamaño deseado y recorte la imagen.
    Rectangle rectangle = new Rectangle(20, 20, 20, 20);             
    rasterImage.Crop(rectangle);

    // Guardar imagen recortada.
    rasterImage.Save("cropped.png");
}

API de recorte de imágenes para C#: obtenga una licencia gratuita

Puede obtener una licencia temporal gratuita y recortar imágenes sin limitaciones de evaluación.

Cree su aplicación de recorte de imágenes

En este artículo, ha aprendido a recortar imágenes en C#. Hemos demostrado un par de formas de recortar una imagen usando valores de desplazamiento o con un rectángulo. Ahora, puede crear fácilmente su aplicación de recorte de imágenes o mejorar las capacidades de edición de imágenes de la aplicación existente. Para explorar más sobre la API de edición de imágenes de C#, puede visitar la documentación. Además, puede compartir sus consultas con nosotros a través de nuestro foro.

Ver también