生成二维码图片

1,需要用到的开发包  ThoughtWorks.QRCode.dll

下载地址:http://pan.baidu.com/s/1hqlCXgC

2,主要代码:

using ThoughtWorks.QRCode.Codec;

方式一:直接返回图片流到浏览器

public void GenerteImageResult2()
        {
            string GUID = "";
            string str = "哈哈,这是二维码信息!";//要写入的二维码信息
            //生成二维码
            QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
            qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//二维码编码格式:ALPHA_NUMERIC,NUMERIC,BYTE
            qrCodeEncoder.QRCodeScale = 8;//二维码大小,自定义
            qrCodeEncoder.QRCodeVersion = 0;//二维码版本
            qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//有H,L,M,Q可选,错误机制级别
            Image image = qrCodeEncoder.Encode(str, Encoding.Default);
            //ImageResult result = new ImageResult(image);
            Response.ContentType = "image/jpeg";
            image.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);


        }

方式二:构造返回函数
        public ActionResult GenerteImageResult()
        {
            string GUID = "";
            string str = "哈哈,这是二维码信息!";//要写入的二维码信息
            //生成二维码
            QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
            qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//二维码编码格式:ALPHA_NUMERIC,NUMERIC,BYTE
            qrCodeEncoder.QRCodeScale = 8;//二维码大小,自定义
            qrCodeEncoder.QRCodeVersion = 0;//二维码版本
            qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//有H,L,M,Q可选,错误机制级别
            Image image = qrCodeEncoder.Encode(str, Encoding.Default);//image 就是生成的二维码图片,可以按照自己的方式去保存,这里直接显示到网页
            ImageResult result = new ImageResult(image);
            return result;
        }

//构造返回信息流

public class ImageResult : ActionResult
    {
        // 图片
        public Image imageData;


        // 构造器
        public ImageResult(Image image)
        {
            imageData = image;
        }


        // 主要需要重写的方法
        public override void ExecuteResult(ControllerContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }


            HttpResponseBase response = context.HttpContext.Response;


            // 设置 HTTP Header
            response.ContentType = "image/jpeg";


            // 将图片数据写入Response 
            imageData.Save(context.HttpContext.Response.OutputStream, ImageFormat.Jpeg);
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值