一、生成二维码
下载dllThoughtWorks.QRCode.zip,或者去Nuget自己添加资源包,或者去我整理的资源里面下载(asp.net二维码(ThoughtWorks.QRCode.dll+调用方法)-C#文档类资源-CSDN下载)
引用:
using ThoughtWorks.QRCode.Codec;
方法:
public class QrCodeHelper
{
public byte[] CreateQRcode(string content)
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qrCodeEncoder.QRCodeScale = 4;
qrCodeEncoder.QRCodeVersion = 8;
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
System.Drawing.Bitmap image = qrCodeEncoder.Encode(content);
System.IO.MemoryStream MStream = new System.IO.MemoryStream();
image.Save(MStream, System.Drawing.Imaging.ImageFormat.Png);
return MStream.ToArray();
//Response.ClearContent();
//Response.ContentType = "image/Png";
//Response.BinaryWrite(MStream.ToArray());
}
}
调用:
byte[] qrByte = qrHelper.CreateQRcode("想要生成的字符串");
string qrStr = Convert.ToBase64String(qrByte); //需要转化一下
这样数据就生成好了,我是放到datatable字段里面赋值的
二、rdlc展示图片
1.rdlc中添加图片控件
2.设置属性
选数据库,选对应的字段,下面的图片类型估计都可以,我只用了这一种
我的这样设置就好了,代码作为参照
<Image Name="Image1">
<Source>Database</Source>
<Value>=Fields!QrCode.Value</Value>
<MIMEType>image/png</MIMEType>
<Sizing>FitProportional</Sizing>
<Top>1.90111cm</Top>
<Left>1.34166cm</Left>
<Height>1.71778cm</Height>
<Width>2.08cm</Width>
<ZIndex>84</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
有些人说直接赋值(=Fields!QrCode.Value)不行,我这里是可以的,不行的话试试(=System.Convert.FromBase64String(Fields!QrCode.Value))