C#生成二维码名片

摘自《31天学会CRM项目开发<C#编程入门级项目实战>》

本例将使用ThoughtWorks.QRCode类库生成二维码名片。正式编码前,先了解一下什么是vCard?它是一种用于定义电子名片的标准或规范。手机通信录可导出vCard格式。片段21-15是一段vCard格式的文本,从数据结构上看并不复杂,按照格式填充相关信息,以二维码方式输出。

    BEGIN:VCARD
    FN:张三
    TITLE:技术总监
    ORG:青岛**软件有限公司;ERP事业部
    TEL;CELL:18605327777
    TEL;WORK:+86 0532 86887777
    TEL;WORK;FAX:+86 0532 86887778
    ADR;WORK:青岛市市南区香港路100号
    URL:www.huiyaosoft.com
    EMAIL;WORK:[email protected]
    NOTE:
    X-QQ:
    PHOTO;ENCODING=b;TYPE=JPEG:
    END:VCARD

主要开发步骤如下:

(1)    绘制窗体如图21-7所示

(2)    添加引用ThoughtWorks.QRCode.dll
(3)  
 片段21-16使用ThoughtWorks.QRCode将名片信息输出到pictureBox1上,信息量越大,二维码图片也就越大。如果图片比较
小,信息量比较大,所生成的二维码不易识别。行31-34演示了在二维码图片中添加Logo的方法,之所以可加入Logo是因为二维码自身有一定纠错能
力。
代码片段21-16

    public static Bitmap GetTwoDimensionCode(string strSource,
        string text, int width, int height, string fontName)
    {
        // 创建Bitmap对象
        Bitmap bmp = new Bitmap(width, height);
        // 从image创建 Graphics对象
        Graphics objGraphics = Graphics.FromImage(bmp);
        // 填上背景色
        objGraphics.FillRectangle(Brushes.White, 0, 0, bmp.Width, bmp.Height);
        //
        ThoughtWorks.QRCode.Codec.QRCodeEncoder qrCodeEncoder =
            new ThoughtWorks.QRCode.Codec.QRCodeEncoder();
        // 设置编码方法
        qrCodeEncoder.QRCodeEncodeMode =
            ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.BYTE;
        // 设置大小
        qrCodeEncoder.QRCodeScale = 3;
        // 适用于信息量较少的情形,图像越小保存的信息量越少
        // qrCodeEncoder.QRCodeScale = 4;
        // 设置版本
        qrCodeEncoder.QRCodeVersion = 0;
        // 设置错误校验的级别,正因为二维码有纠错能力,才能够加入logo
        qrCodeEncoder.QRCodeErrorCorrect =
            ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.M;
        Image image = qrCodeEncoder.Encode(strSource, Encoding.GetEncoding("utf-8"));
        // 写入二维码
        int x = (int)(width - image.Width) / 2;
        int y = (int)(height - image.Height) / 2;
        objGraphics.DrawImage(image, new Point(x, y));
        // 添加Logo图标
        image = TwoDimensionCodeNameCard.Properties.Resources.Apps_tux_icon;
        x = (int)(width - image.Width) / 2;
        y = (int)(height - image.Height) / 2;
        objGraphics.DrawImage(image, new Point(x, y));
        return bmp;
    }  

代码片段21-16中,行34通过DrawImage()方法向objGraphics指定位置加入图像image,代码片段21-17演示了使用DrawString()方法向objGraphics指定位置增加字符串text的过程。

代码片段21-17

    // 写入字符串
    objGraphics.DrawString(text, new Font(fontName, 13, FontStyle.Bold),
        Brushes.Black, new PointF(43, 15));  

示例下载:http://download.csdn.net/detail/daiqianjie/9472868

时间: 2024-10-07 05:29:41

C#生成二维码名片的相关文章

利用google api生成二维码名片

利用google api生成二维码名片 二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码.堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成:矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1”,用“空”表示二进制“0”,“点”和“空”的排列组成代码. 堆叠式/行排式二维条码,如,Code 16K.Code 49.PDF417等. 矩阵式二维码,最流行莫过于QR CODE. 矩阵式二维码存储的数据量更大:可以包含数字.字符,及中文文本等混合内容:有一

PHP和Jquery生成二维码,以及PHP生成电子名片

自从跳槽了,就没有发过博客了,很愧疚,我是自学的PHP,现在这家公司加上老板才12个人,我是典型的从分工明确的公司跳槽到小公司,深刻体会到了所谓'大公司'和'小公司'的区别,上一个公司,一个项目到我这里,静态页都是写好的,我只需要将数据动态加载就行了,但是目前这个公司,典型的一个人当几个人用,我刚去公司一个多月,直接让我做项目经理的工作,去甲方公司需求调研,然后自己开发,除开设计和切图,我基本上都参与.锻炼人说实话还是小公司较好,但是锻炼技术我觉得还是大公司较好,因为我在我上一家公司呆了3个月,

微信二维码名片生成示例【转】

二维码的对于现在已经很流行了,主要是因为其大数据量和容错能力.出于爱好,学了下google的zxing对二维码的处理. 首先生成一张二维码的话,只要输入文本就OK了. 下面是加密的代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 5

关于生成二维码

package com.example.qr_codescan; import java.util.Hashtable; import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import an

PHP通过PHP QR Code生成二维码

1.二维码 二维码 ,又称二维条形码,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的"0"."1"比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理.它具有条码技术的一些共性:每种码制有其特定的字符集:每个字符占有一定的宽度:具有一定的校验功能等.同时还具有对不同行的信息自动识别功能.及处理图形旋转变

PHP生成二维码【谷歌API+qrcode+圆角Logo】

这几天在开发公司的企业版块,想在每个企业的展示页面上添加一个公司的二维码,通过扫描二维码便可以将公司的信息导入手机通讯录中,想法产生了,于是开始搜索PHP生成二维码的方法,比较流行的方法主要有两种:1谷歌二维码API:2 PHP QR CODE:本文将重点介绍这两种方法.  方法一:谷歌二维码API 接口地址:https://chart.googleapis.com/chart 官方文档:https://developers.google.com/chart/infographics/docs/

通过CoreImage生成二维码

从IOS7开始集成了二维码的生成和读取功能 生成二维码的步骤: 1.导入CoreImage框架 2.通过滤镜CIFilter生成二维码 二维码的内容(传统的条形码只能放数字): 纯文本 名片 URL 生成二维码示例代码如下: // 1.实例化二维码滤镜CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; // 2.恢复滤镜的默认属性 (因为滤镜有可能保存上一次的属性)[filter setDefaults]

生成二维码图片并且使用BASE64编码显示到前端页面

现在用二维码传递消息是如此的流行和快捷,二维码中 可存储的信息量比较大,容易识别,内容丰富,可以储存文本,链接,名片等等.并且现在支付宝微信等的支付都直接可以用扫描二维码进行支付,利用特定的扫码软件,能够解析二维码中的内容.在我的项目中,用到了需要存储一个二维码的链接,让用户直接扫码以后就可以下单的需求.经过查询,可以用Google的qrcodegencore.jar的类库直接生成二维码.附件中是实现生成二维码的jar包接下来用两个步骤来实现此功能需求 1.生成二维码 import com.go

Android基于Google Zxing实现二维码/条形码扫描、生成二维码/条形码

 二维码/条形码生成器 二维码/条形码扫描器 一.二维码与条形码工作原理 目前的很多应用上都有扫码功能,当时微信推出二维码扫码功能时,觉得imagine,通过一张简单的图片就能扫描添加还有,还有分享名片功能(也是一张二维码图片,识别扫描). 下面小编将通过文章主要介绍QRCode方面技术. QRCode是被广泛应用的一种二维码,解码速度快.二维码相对于条形码来说,二维码的存储数据量更大,空间利用率高,有一定的容错性. 二维码原理介绍: 二维码是用某种特定的几何图形按一定的规律在平面上分布的黑