首页 > 解决方案 > 如何设置显示二维码的位图图像的大小

问题描述

我必须在网页中显示二维码,我将从 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());
}

但是当网页中的二维码图像显示在包含二维码图像的小表格(二维码显示之前)时,几乎占据了整个窗口大小的表格,这表明位图图像采用了默认的图像大小;我的代码有什么错误。我想要我自己的高度和宽度的二维码图像。

标签: c#bitmapimage

解决方案


我这样做是为了调整 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;
        }

推荐阅读