cambiar el tamaño de las imágenes en C#

A menudo recibimos imágenes con un tamaño que no cumple con nuestros requisitos, por lo tanto, tenemos que cambiar su tamaño en consecuencia. En este artículo, aprenderá cómo cambiar el tamaño de las imágenes usando C# desde sus aplicaciones .NET. Además, aprenderá a cambiar el tamaño de imágenes rasterizadas e imágenes vectoriales de forma explícita.

.NET API para cambiar el tamaño de las imágenes

Para cambiar el tamaño de las imágenes. usaremos Aspose.Imaging for .NET. Es una poderosa API de procesamiento de imágenes para manipular varios tipos de imágenes rasterizadas y vectoriales. Puede descargar la DLL de la API o instalarla a través de NuGet.

PM> Install-Package Aspose.Imaging

Cambiar el tamaño de las imágenes ráster con C#

Hay dos métodos para cambiar el tamaño de imágenes rasterizadas (PNG, GIF, JPEG, etc.): cambio de tamaño simple y cambio de tamaño usando un tipo de cambio de tamaño. En el cambio de tamaño simple, las imágenes se redimensionan proporcionando la altura y el ancho. Mientras que el segundo método utiliza diferentes técnicas de cambio de tamaño. Las siguientes secciones muestran cómo cambiar el tamaño de una imagen utilizando cada uno de los métodos mencionados anteriormente.

Cambio de tamaño simple de una imagen

Los siguientes son los pasos para cambiar el tamaño de una imagen en C#.

El siguiente ejemplo de código muestra cómo cambiar el tamaño de una imagen en aplicaciones .NET.

// Cargar imagen
using (Image image = Image.Load("aspose-logo.jpg"))
{
    // Cambiar el tamaño de la imagen y guardar la imagen redimensionada
    image.Resize(300, 300);
    image.Save("SimpleResizing_out.jpg");
}

Cambiar el tamaño de la imagen usando un tipo de cambio de tamaño

La enumeración ResizeType se usa para especificar técnicas de cambio de tamaño que puede usar según sus requisitos. La lista completa de tipos de cambio de tamaño admitidos está disponible aquí. Los siguientes son los pasos para cambiar el tamaño de una imagen utilizando una técnica de cambio de tamaño particular.

El siguiente ejemplo de código cambia el tamaño de la imagen usando una técnica de cambio de tamaño particular.

// Cargar imagen
using (Image image = Image.Load("aspose-logo.jpg"))
{
    // Cambiar el tamaño de la imagen y guardar la imagen redimensionada
    image.Resize(300, 300, ResizeType.LanczosResample);
    image.Save("SimpleResizing_out.jpg");
}

Cambiar el tamaño de la imagen proporcionalmente

Cambiar el tamaño de las imágenes especificando la altura y el ancho puede resultar en una imagen reducida o escalada. Por lo tanto, debe calcular la relación de aspecto manualmente. Sin embargo, cualquier error de cálculo en la relación de aspecto puede dar lugar a una imagen estirada. Para evitar tales problemas, puede usar el cambio de tamaño proporcional. Los siguientes son los pasos para lograrlo.

En caso de que quiera usar algún tipo de cambio de tamaño en particular mientras cambia el tamaño de las imágenes proporcionalmente, use los métodos de sobrecarga Image.ResizeWidthProportionally(Int32, ResizeType) y Image.ResizeHeightProportionally(Int32, ResizeType).

El siguiente ejemplo de código muestra cómo cambiar el tamaño de una imagen proporcionalmente usando C#.

// Cargar imagen
using (Image image = Image.Load("aspose-logo.png"))
{
    // Caché de datos de imagen
    if (!image.IsCached)
    {
        image.CacheData();
    }
    
    // Especificar ancho y alto
    int newWidth = image.Width / 2;
    image.ResizeWidthProportionally(newWidth);
    int newHeight = image.Height / 2;
    image.ResizeHeightProportionally(newHeight);
    
    // Guardar imagen
    image.Save("ResizeImageProportionally_out.png");
}

Cambiar el tamaño de las imágenes vectoriales en C#

Aspose.Imaging for .NET también le permite cambiar el tamaño de las imágenes vectoriales y guardarlas en un formato de imagen de trama. El siguiente ejemplo de código muestra cómo cambiar el tamaño de una imagen SVG y guardar la salida en formato PNG.

// Cargar imagen
using (Image image = Image.Load("image.svg"))
 {
    // Cambiar el tamaño de la imagen como PNG
    image.Resize(image.Width * 10,image.Height * 15);
    image.Save("Logotype_10_15.png", new PngOptions()
    {
        VectorRasterizationOptions = new SvgRasterizationOptions()
    });
 }

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 cómo cambiar el tamaño de las imágenes mediante programación usando C#. Además, los ejemplos de código han demostrado cómo realizar un cambio de tamaño simple de imágenes o cambiar el tamaño usando un tipo particular. También hemos cubierto cómo evitar el cálculo manual de la relación de aspecto al cambiar el tamaño de las imágenes. Además, al final también se analiza el cambio de tamaño de las imágenes vectoriales. Además, puede explorar más sobre la API de procesamiento de imágenes de .NET utilizando documentación. Además, puede descargar el paquete completo de ejemplos de código fuente desde GitHub. En caso de cualquier consulta, puede contactarnos en nuestro foro.

Ver también