利用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. Servlet采用多线程来处理多个请求同时访问

    Servlet采用多线程来处理多个请求同时访问,Servlet容器维护了一个线程池来服务请求.

  2. Unity5 AssetBundle打包加载及服务器加载

    Assetbundle为资源包不是资源 打包1:通过脚本指定打包 AssetBundleBuild ab = new AssetBundleBuild                         ...

  3. mysql_ado的demo

    winform程序 http://pan.baidu.com/s/1nvxm5br

  4. ThinkPHP跳转与重定向的区别

    跳转: 浏览器认为: 当前URL请求成功, 重新请求新的URL. 浏览器会 记录当前的URL 和 新的URL 在请求历史记录中. 回退, 是可以回退到, 当前的URL上的. (无论 success, ...

  5. Asp.Net MVC 把PartialView、View转换成字符串

    在开发中有时要在后台获得某个View 或者 PartialView 生成的字符串,只要你熟悉Asp.Net MVC  生命周期就能理解和敲出下面的代码.没什么高深的,直接上代码: 1,输出View H ...

  6. oh my zsh 切换 bash

    zsh切换bash bash切换zsh 切换bash chsh -s /bin/bash 切换zsh chsh -s /bin/zsh

  7. iOS开发之--iOS APP打包的时候出现的四个选项

  8. ArcGIS GP应用-GP模型服务发布

    1.双击模型名称打开运行窗体 2.在图上交互和窗体中输入数据后,点击确定运行模型,查看运行结果 3.在当前模型“缓冲区分析”的目录树上,右击含有图形(点.线.面)的节点,点击添加至显示,显示图片 4. ...

  9. win上gulp配置

    主线: 安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务 1,安装node.js 1.1.说明 ...

  10. 170329、用 Maven 部署 war 包到远程 Tomcat 服务器

    过去我们发布一个Java Web程序通常的做法就是把它打成一个war包,然后用SSH这样的工具把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署. 很显然,这样做不够方便,且我们 ...