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
- Redimensionar imágenes ráster
- Cambiar el tamaño de la imagen proporcionalmente
- Cambiar el tamaño de las imágenes vectoriales
.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#.
- Primero, cargue el archivo de imagen usando la clase Image.
- Luego, cambia el tamaño de la imagen llamando al método Image.Resize(Int32, Int32).
- Finalmente, guarde la imagen redimensionada usando el método Image.Save(string).
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.
- Primero, cargue la imagen usando la clase Image.
- Luego, cambia el tamaño de la imagen llamando al método Image.Resize(Int32, Int32, ResizeType).
- Finalmente, guarde la imagen redimensionada usando el método Image.Save(string).
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.
- Primero, cargue el archivo de imagen usando la clase Image.
- Then, cache image data using Image.CacheData() method.
- Especifique la nueva altura y anchura de la imagen.
- Calcule los valores de proporción utilizando el método Image.ResizeWidthProportionally(Int32) y Image.ResizeHeightProportionally(Int32).
- Finalmente, guarde la imagen redimensionada usando el método Image.Save(string).
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.