¿Es posible cambiar el tamaño de la imagen proporcionalmente de forma independiente del tipo de imagen (bmp, jpg, png, etc.)?Cómo cambiar el tamaño proporcional de la imagen de cualquier tipo en .NET?
tengo este código y sé que falta algo (pero no sé qué):
public bool ResizeImage(string fileName, string imgFileName,
ImageFormat format, int width, int height)
{
try
{
using (Image img = Image.FromFile(fileName))
{
Image thumbNail = new Bitmap(width, height, img.PixelFormat);
Graphics g = Graphics.FromImage(thumbNail);
g.CompositingQuality = CompositingQuality.HighQuality;
g.SmoothingMode = SmoothingMode.HighQuality;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
Rectangle rect = new Rectangle(0, 0, width, height);
g.DrawImage(img, rect);
thumbNail.Save(imgFileName, format);
}
return true;
}
catch (Exception)
{
return false;
}
}
Si no es posible, en qué proporciones de la imagen jpeg puedo cambiar el tamaño de I?
Sé que usando this method, pero no sé dónde poner esto (!).
8-bits requieren re-cuantificación y volver a ser difuminado al cambiar de tamaño (que no es trivial!). La mejor solución es utilizar una biblioteca administrada que esté diseñada para manejar todos los formatos/casos de borde correctamente, mantener la relación de aspecto, etc. [La biblioteca de ImageResizer] (http://imageresizingin.net/) es una herramienta comprobada para esta tarea así como recortar, rotar y voltear. Es de código abierto, por lo que si le apetece rodar su propia solución, solo copie y pegue. También permite muchas otras cosas útiles a través de complementos, como marca de agua, almacenamiento en caché de disco, blobs sql, lectura S3, etc. –
Vine aquí para mejorar mi sistema de ajuste de tamaño de la imagen y descubrí The ImageResizer Library. Es excelente. +1 para el lingüista informático! – Chris
La URL en la respuesta anterior de Computer Linguist debe ser: http://imageresizing.net/ – glenatron