利用google api生成二维码名片

二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码。堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成;矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1”,用“空”表示二进制“0”,“点”和“空”的排列组成代码。

堆叠式/行排式二维条码,如,Code 16K、Code 49、PDF417等。

矩阵式二维码,最流行莫过于QR CODE。

矩阵式二维码存储的数据量更大;可以包含数字、字符,及中文文本等混合内容;有一定的容错性(在部分损坏以后可以正常读取);空间利用率高等。

 代码如下  

<?php
$vname = 'test';  
$vtel = '13800000000';  
generateQRfromGoogle($vname,$vtel);

function generateQRfromGoogle($vname,$vtel,$widhtHeight ='150',$EC_level='L',$margin='0')
{
    if($vname&&$vtel){  
       $chl = "BEGIN:VCARDnVERSION:3.0". //vcard头信息  
       "nFN:$vname".  
       "nTEL:$vtel".  
       "nEND:VCARD"; //vcard尾信息  
       echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.urlencode($chl).'"alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';
    }
}
?>

php生成网址二维码:

 代码如下  

<?php
$url = "http://www.google.com.hk"; 
generateQRfromGoogle($url);

function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')
{
       echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.urlencode($chl).'"alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';
}
?>

例子

 代码如下  
<?php
/*
php 生成二维码名片
* api Google
* google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】
* @param string $chl 二维码包含的信息,可以是数字、字符、二进制信息、汉字。不能混合数据类型,数据必须经过UTF-8 URL-encoded.如果需要传递的信息超过2K个字节,请使用POST方式
* @param int $widhtHeight 生成二维码的尺寸设置
* @param string $EC_level 可选纠错级别,QR码支持四个等级纠错,用来恢复丢失的、读错的、模糊的、数据。
*                         L-默认:可以识别已损失的7%的数据
*                         M-可以识别已损失15%的数据
*                         Q-可以识别已损失25%的数据
*                         H-可以识别已损失30%的数据
* @param int $margin 生成的二维码离图片边框的距离
* 二维码名片的格式---vcard
* 格式参考如下:
 BEGIN:VCARD
 VERSION:3.0
 FN:用户名
 TEL;CELL;VOICE:0571-00000000
 TEL;WORK;VOICE:0571-00000000
 TEL;WORK;FAX:0571-00000000
 EMAIL;PREF;INTERNET:361way
 URL:http://www.111cn.net
 orG:361way运维之路
 ROLE:研发部
 TITLE:CTO
 ADR;WORK;POSTAL:杭州市西湖区XXX号;310000
 REV:2014-2-26T08:30:02Z
 END:VCARD
 如果你想更详细的定制所需要的格式,则需要详细的了解vcard的格式标准。
*/
$vcard = array(
 'vname' => '用户名',
 'vtel' => '13800000000',
 'vemail' => 'aaaaa@163.com',
 'vaddress' => '杭州市西湖区',
);
generateQRfromGoogle($vcard);
function generateQRfromGoogle($vcard,$widhtHeight ='150',$EC_level='L',$margin='0')
{
    if($vcard){
       $chl = "BEGIN:VCARDnVERSION:3.0". //vcard头信息
       "nFN:".$vcard['vname'].
       "nTEL:".$vcard['vtel'].
    "nEMAIL:".$vcard['vemail'].
    "nADR:".$vcard['vaddress'].
       "nEND:VCARD"; //vcard尾信息
       echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.urlencode($chl).'"alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';
    }
}
?>

如果想实现中间有logo的效果,需要通过另外一个logo小图进行拼接即可。这里只提供一种实现方法,也可以通过QRcode的方式进行生成。

vcode的标准信息可以参看维基百科 。

注:有些生成的图片经扫描没有的数据的原因是编码导致的,该问题在windows下较常见,由于很多编辑器默认提供的是ANSI编码,更改成utf8就OK了。

利用google api生成二维码名片的更多相关文章

  1. 利用google api生成二维码名片例子

    二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码.堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成:矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1” ...

  2. 利用Google API生成二维码

    什么是二维码:二维码是二维条形码的一种,可以将网址.文字.照片等信息通过相应的编码算法编译成为一个方块形条码图案,手机用户可以通过摄像头和解码软件将相关信息重新解码并查看内容.读取方式:利用30万画素 ...

  3. PHP使用google api生成二维码

    代码如下: <?php $urlToEncode="nickname:Feanmy,email:feanmy@qq.com"; generateQRfromGoogle($u ...

  4. 利用谷歌API生成二维码

    http://chart.apis.google.com/chart?cht=qr&chs=104x104&chld=L|0&chl=http://www.cnblogs.co ...

  5. 二维码相关---java生成二维码名片,而且自己主动保存到手机通讯录中...

    版权声明:本文为博主原创文章,未经博主credreamer 同意不得转载 违者追究法律责任. https://blog.csdn.net/lidew521/article/details/244418 ...

  6. C#生成二维码名片

    摘自<31天学会CRM项目开发<C#编程入门级项目实战>> 本例将使用ThoughtWorks.QRCode类库生成二维码名片.正式编码前,先了解一下什么是vCard?它是一种 ...

  7. 利用QrCode.Net生成二维码 asp.net mvc c#

    利用QrCode.Net生成二维码 asp.net mvc c# 里面介绍了.net的方式及js的方式,还不错. 里面用到的qrcode.net的类库下载地址:https://qrcodenet.co ...

  8. ThoughtWorks.QRCode 生成二维码名片(实现二维码内容换行)

    最近在写一个很简单的功能,按照Vcard的格式,生成二维码名片.本来以为分分钟完事的事情,替换数据,直接调用dll去生成二维码. 测试时,发现生成的二维码使用微信扫描得到的名片信息为空,反向解析发现, ...

  9. 基于Asp.Net Core,利用ZXing来生成二维码的一般流程

    本文主要介绍如何在.net环境下,基于Asp.Net Core,利用ZXing来生成二维码的一般操作.对二维码工作原理了解,详情见:https://blog.csdn.net/weixin_36191 ...

随机推荐

  1. hdu 4709:Herding(叉积求三角形面积+枚举)

    Herding Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  2. LodRunner实现大负载测试的四部曲(配置系统参数、配置LR、修改脚本、设置组策略)

    见 http://www.51testing.com/?uid-97659-action-viewspace-itemid-210924 LoadRunner以下简称(LR)是目前业界最流行的压力测试 ...

  3. 数据降维PCA——学习笔记

    PCA主成分分析 无监督学习 使方差(数据离散量)最大,更易于分类. 可以对隐私数据PCA,数据加密. 基变换 投影->内积 基变换 正交的基,两个向量垂直(内积为0,线性无关) 先将基化成各维 ...

  4. SHGetSpecialFolderPath用法

    The SHGetSpecialFolderPath function retrieves the path of a special folder that is identified by its ...

  5. 实际用户ID,有效用户ID,保存的设置用户ID

    Unix中常见的几个概念,下面做一个解释. 首先需要明确一点,这几个概念都是和进程相关的. real user ID表示的是实际上进程的执行者是谁,effective user ID主要用于校验该进程 ...

  6. 后Hadoop时代的大数据架构

    提到大数据分析平台,不得不说Hadoop系统,Hadoop到现在也超过10年的历史了,很多东西发生了变化,版本也从0.x进化到目前的2.6版本.我把2012年后定义成后Hadoop平台时代,这不是说不 ...

  7. java框架---->RxJava的使用(一)

    RxJava是响应式程序设计的一种实现.在响应式程序设计中,当数据到达的时候,消费者做出响应.响应式编程可以将事件传递给注册了的observer.今天我们就来学习一下rxJava,并分析一下它源码感受 ...

  8. axios post传参后台无法接收问题

    起因是在angular项目中使用axios发送post请求,向后台传参后台一直无法接收,网上查了有说是请求头设置不对,需要把Content-Type:application/x-www-form-ur ...

  9. c# 日常记录,(获取系统时间、return),一些文件隐藏无法引用,c#多个窗体之间传值

    1.获取系统时间 DateTime.Now.ToString(); DateTime dt =DateTime.Now; dt.AddDays(1); //增加一天 dt.AddDays(-1);// ...

  10. 第十课——cluster故障转移操作,codis部署

    作业描述] 1.cluster的故障转移操作,截图展示 2.部署codis,并写代码访问codis ================================================== ...