新人求助,怎么用c#做一个生成网址链接的二维码

 我来答
SWEETSWISS
2017-02-26 · TA获得超过562个赞
知道小有建树答主
回答量:701
采纳率:0%
帮助的人:183万
展开全部

1.要用到一个类:QRCodeEncoder

这个类要添加一个动态库:ThoughtWorks.QRCode.dll(可以上网搜索)

然后引入命名空间:using ThoughtWorks.QRCode.Codec;

2.声明一个 QRCodeEncoder 类实例:

QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();

3.设置编码方式:

qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;

这里笔者将其设置为字节编码(还有两种编码方式,读者可以自行试验),现在的流行的普遍的二维码都是字节编码。

4.设置规模和版本:

qrCodeEncoder.QRCodeScale = 4;

qrCodeEncoder.QRCodeVersion = 7;

这里设置规模为:4,版本为:7,其余值读者可以自行试验,这两个值基本只是改变了二维码的大小,读者设置的值都是现在普遍使用的值。

5.设置错误校验(错误更正)的级别:

qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;

这里设置为中等,一共有四个级别,读者可以自行试验。

6.根据内容生成二维码图片,最后把生成的图片显示出来就可以啦:

string link = "http://jingyan.baidu.com/user/npublic?un=%E8%BE%B9%E7%BC%98%E6%B2%B3%E5%9B%BE";

bmp = qrCodeEncoder.Encode(link);

一般来说,二维码生成的都是一个连接

        /// <summary>
        /// 根据链接获取二维码
        /// </summary>
        /// <param name="link">链接</param>
        /// <returns>返回二维码图片</returns>
        private Bitmap GetDimensionalCode(string link)
        {
            Bitmap bmp = null;
            try
            {

                QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();

                qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;

                qrCodeEncoder.QRCodeScale = 4;

                //int version = Convert.ToInt16(cboVersion.Text);
                qrCodeEncoder.QRCodeVersion = 7;

                qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;

                bmp = qrCodeEncoder.Encode(link);
            }
            catch (Exception ex)
            {
                //MessageBox.Show("Invalid version !");
            }
            return bmp;
        }
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式