Как установить размер растрового изображения, отображающего QR-код - PullRequest
1 голос
/ 27 июня 2019

Мне нужно отобразить QR-код на веб-странице, который я получу от ViewData, который содержит адрес растрового изображения (50 * 50), следующим образом

QRCodeGenerator qrGenerator = new QRCodeGenerator();
var qrGeneratedDateTime =Convert.ToString(DateTime.Now);    
var code = Convert.ToString(valueVariable+ qrGeneratedDateTime);

QRCodeData qrCodedata = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodedata);
Bitmap bitMap= new Bitmap(50,50);
using (bitMap = qrCode.GetGraphic(20))
{
    bitMap.Save(ms, ImageFormat.Png);
    ViewData["QRCodeImage"] = "data:image/png;base64," + Convert.ToBase64String(ms.ToArray());
}

Но когда отображается изображение QR-кодана веб-странице, которая имела небольшую таблицу (до отображения QR-кода), в которой находится изображение QR-кода, была взята почти полная таблица размеров окон, которая указывает, что для изображения битовой карты использовался размер изображения по умолчанию;В чем ошибка в моем коде.Я хочу изображение QR-кода моей собственной высоты и ширины.

1 Ответ

0 голосов
/ 27 июня 2019

Я делаю это, чтобы изменить размер QR / Штрих-кода:

        private System.Drawing.Image ResizeImage(System.Drawing.Image image, int size)
        {
            System.Drawing.Image resizedImage = new Bitmap(size, size);

            using (Graphics graphicsHandler = Graphics.FromImage(resizedImage))
            {
                graphicsHandler.InterpolationMode = InterpolationMode.HighQualityBicubic;
                graphicsHandler.DrawImage(image, 0, 0, size, size);
            }

            return resizedImage;
        }
...