项目中要输出二维码图片,打算在接口中输出base64字符串。Base64编码在Web方面有很多应用,.Net Framework也提供了现成的功能类(System.Convert)用于将二进制数据转换为Base64字符串。
先使用ThoughtWorks.QRCode生成二维码图片Bitmap对象,然后转成MemoryStream后再转成byte[],最后直接Convert.ToBase64String就可以了。示例代码如下:
//创建二维码
var qrcode = new QRCodeEncoder
{
QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE,
QRCodeScale = 10,
QRCodeVersion = 5,
QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L
};
using (var image = qrcode.Encode("二维码内容")) {
using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) {
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
var bytes = ms.ToArray();//转成byte[]
return Convert.ToBase64String(bytes);
}
}
c# 输出base64图片格式,简单几行代码就能实现了。