Redimensionar imágenes C#

El redimensionamiento de imágenes es una operación común en el procesamiento de imágenes, útil en varios escenarios, como la preparación de imágenes para publicaciones web, miniaturas o la reducción del tamaño de los archivos. En este artículo, exploraremos cómo redimensionar imágenes en C#. Aprenderás cómo redimensionar imágenes rasterizadas como JPG o PNG, realizar un redimensionamiento proporcional y manejar imágenes vectoriales como SVG con precisión.

¿Por qué redimensionar imágenes en C#?

Redimensionar imágenes programáticamente te brinda la capacidad de automatizar y escalar tareas de procesamiento de imágenes sin intervención manual. Aquí hay algunas razones por las que esto es necesario:

  • Ayuda a optimizar los tamaños de imagen para reducir los tiempos de carga y el uso de ancho de banda en aplicaciones web.
  • Asegura una visualización coherente en diversas plataformas y tamaños de pantalla.
  • Ayuda a generar vistas previas e miniaturas de imágenes dinámicamente.
  • Permite ajustes automáticos de imágenes en flujos de trabajo como la generación de documentos, el archivo o la publicación.

Redimensionar imágenes - Instalación de la API de C#

Puedes instalar la última versión estable de Conholdate.Total for .NET utilizando el siguiente comando de instalación de NuGet en tu sistema:

PM> NuGet\Install-Package Conholdate.Total

Redimensionar imágenes en C#

Comencemos con el cambio de tamaño básico de imágenes rasterizadas como JPGs usando dimensiones fijas en C#. Simplemente sigue los pasos a continuación:

  1. Cargar una imagen JPG desde un archivo usando Image.Load().
  2. Llama al método Resize() para establecer el ancho y la altura en 300 píxeles cada uno.
  3. Guarda la imagen redimensionada usando image.Save().

El código de ejemplo a continuación demuestra el cambio de tamaño de imágenes en C#:

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

Redimensionar imágenes proporcionalmente en C#

Esta sección demuestra cómo cambiar el tamaño de una imagen PNG manteniendo su relación de aspecto original en C#.

  1. Carga la imagen PNG usando Image.Load().
  2. Verifique si la imagen está en caché; si no, llame a CacheData() para mejorar el rendimiento.
  3. Divide el ancho y la altura actuales por 2 para calcular nuevas dimensiones proporcionales.
  4. Utiliza ResizeWidthProportionally() y ResizeHeightProportionally() para mantener la relación de aspecto.
  5. Guarda la imagen redimensionada con el método image.Save().

El siguiente fragmento de código muestra el redimensionamiento proporcional de imágenes en C#:

// Cargar imagen
using (Image image = Image.Load("aspose-logo.png"))
{
    // Cache image data
    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");

Redimensionar imágenes vectoriales en C#

Este ejemplo ilustra cómo redimensionar una imagen vectorial (SVG) en C#::

  1. Cargue una imagen vectorial SVG utilizando Image.Load().
  2. Multiplica la anchura y la altura actuales por los factores de escalado (10 y 15).
  3. Llama a Resize() con el nuevo ancho y alto.
  4. Guarda la imagen redimensionada como PNG utilizando image.Save() con PngOptions.
  5. Especifique las SvgRasterizationOptions para garantizar una representación adecuada de la imagen vectorial.

El ejemplo de código a continuación explica cómo cambiar el tamaño de las imágenes vectoriales en C#:

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

Licencia de Evaluación Gratuita

Puedes evaluar estas así como muchas otras características que ofrece la API obteniendo una licencia temporal gratuita .

Resumiendo

El cambio de tamaño de imágenes es una función esencial para aplicaciones que gestionan, muestran o exportan contenido visual. Con Conholdate.Total para .NET, cambiar el tamaño de imágenes en C# se vuelve eficiente y fácil para los desarrolladores. Soporta una variedad de formatos y proporciona un control fino sobre el comportamiento del cambio de tamaño, ya sea que estés trabajando con dimensiones fijas, manteniendo proporciones de aspecto, o convirtiendo imágenes vectoriales. Sin embargo, si tienes alguna pregunta, no dudes en ponerte en contacto con nosotros en forum.

Ver también