Foros del Web » Programación para mayores de 30 ;) » .NET »

Cómo redimensionar una imagen sin perder calidad?

Estas en el tema de Cómo redimensionar una imagen sin perder calidad? en el foro de .NET en Foros del Web. Hola, Tengo la imagen de un código QR en formato JPG y de 2450x2450px. Dicha imagen se genera automáticamente usando al librería QRCoder de C#. ...
  #1 (permalink)  
Antiguo 19/07/2016, 05:43
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 14 años, 3 meses
Puntos: 8
Cómo redimensionar una imagen sin perder calidad?

Hola,

Tengo la imagen de un código QR en formato JPG y de 2450x2450px.
Dicha imagen se genera automáticamente usando al librería QRCoder de C#.

Una vez generada dicha imagen, necesito resimensionarla a un tañaño de 126x126px. Para esta acción uso el siguiente código:
Código:
Bitmap newImage = new Bitmap(126, 126, PixelFormat.Format24bppRgb);
// Draws the image in the specified size with quality mode set to HighQuality
using (Graphics graphics = Graphics.FromImage(newImage))
{
  graphics.CompositingQuality = CompositingQuality.HighQuality;
  graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
  graphics.SmoothingMode = SmoothingMode.HighQuality;
  graphics.DrawImage(new Bitmap(imageSourcePath), 0, 0, 126, 126);
}
// Get an ImageCodecInfo object that represents the JPEG codec.
ImageCodecInfo imageCodecInfo = GetEncoderInfo(ImageFormat.Jpeg);
// Create an Encoder object for the Quality parameter.
System.Drawing.Imaging.Encoder encoder = System.Drawing.Imaging.Encoder.Quality;
// Create an EncoderParameters object. 
EncoderParameters encoderParameters = new EncoderParameters(1);
// Save the image as a JPEG file with quality level.
EncoderParameter encoderParameter = new EncoderParameter(encoder, 100L);
encoderParameters.Param[0] = encoderParameter;
Pero la imagen resultante queda a muy mala calidad y el código QR no se puede leer.
Hay alguna manera de mejorar/obtener una imagen reducida más correcta?

Muchas gracias
  #2 (permalink)  
Antiguo 20/07/2016, 11:40
 
Fecha de Ingreso: enero-2004
Ubicación: Ciudad de México
Mensajes: 476
Antigüedad: 20 años, 9 meses
Puntos: 14
Respuesta: Cómo redimensionar una imagen sin perder calidad?

Yo sugeriria que desde el inicio, crees la imagen del QR en una resolucion pequeña.
  #3 (permalink)  
Antiguo 30/08/2016, 01:41
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: Cómo redimensionar una imagen sin perder calidad?

Hola cesar_nava,
Gracias por tu respuesta, pero el problema es que el código QR que genero contiene mucha información. Usando la librería QRCoder de C# lo configuro para que lo cree a la menor dimensión posible, pero aún así la imagen resultante es de 2450x2450px.

¿Alguna otra idea?

Etiquetas: c#, image, jpg, reduce, resize
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:13.