c# - 如何设置显示二维码的位图图像的大小
问题描述
我必须在网页中显示二维码,我将从 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/条形码的大小:
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;
}
推荐阅读
- kubernetes - 为 Kubernetes 中的 Keycloak 指定重定向和内部查找的备用 URL
- api - Flutter 使聊天屏幕出现在 api 中获取或发送消息
- sql - 如何在 PostgreSQL 中获取移动窗口 argmax
- python - python删除xml文件上的注释
- r - 在 annotate() 中使用 npc 单位
- bash - Control-m 运行时变量:sh vs powershell
- javascript - Angular 5 - TypeError: Object does not support this action on IE11- PolyFills 需要支持吗?
- python - 如何让 pd.to_datetime() 采用多种日期格式?
- javascript - javascript url参数从url中取出中心字符串
- xml - 有没有一种方法可以使用 saxon 从文本列表中调用 xQuery 函数?