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