我想根据高度和宽度调整生成的QR图像的大小。我该怎么办?
我的代码如下:
MessagingToolkit.QRCode.Codec.QRCodeEncoder qe = new MessagingToolkit.QRCode.Codec.QRCodeEncoder();
qe.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qe.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
qe.QRCodeVersion = qrlevel;
System.Drawing.Bitmap bm = qe.Encode(Data_TO_Encode);
提前感谢。
答案 0 :(得分:0)
对MessagingToolkit
不是很熟悉,但您可以随时调整Bitmap
的大小。
使用以下内容并添加您自己的height
和weight
:
Bitmap bm = new Bitmap((Image)qe.Encode(Data_TO_Encode), new Size(width, height));
但对于不同级别的某些尺寸,建议使用QR码。通常不需要增加尺寸。并且在调整Bitmap
的大小时, 可能 会引入一些可能破坏QR数据的人工制品。但是,如果您确实需要调整大小并且您不关心可能的损坏,那么这是一个选项。
<强>更新强>
您还可以提高级别并提供更多数据,但它仍然可以工作并且会更大。除此之外,我不知道MessagingToolkit
中是否有任何其他功能可以帮助解决这个问题,但我也不知道是否应该这样做。将其导出为默认/建议大小。最糟糕的情况是将其加载到图形程序中并在那里调整大小,不使用插值,这将保持所需的锐边。或者您可以查找可应用于Bitmap
的缩放算法(我认为最近的邻居是您可以使用的算法。)
但这对于这一点来说有点过分了。除非极大地需要调整大小的图像,否则我会离开它。