[php]-[01]-生成并保存二维码

需要用到的资源文件:

http://files.cnblogs.com/files/Eyes-Chan/phpqrcode-2010100721_1.1.4.zip

实际上只需要用到以上资源文件中的 phpqrcode.php 。(如果你使用的是CI框架,只需要将phpqrcode.php文件放在 controller 层中)

使用方式:

<?php

//将$str带表的字符串生成二维码并输出到网页
$str = ‘http://www.google.com‘;
public function make_qrcode($str){
    include ‘phpqrcode.php‘;
    QRcode::png($str);
}

?>

如果想要生成完二维码并直接保存:

<?php

//将$str所指代的字符串生成二维码并保存在$filename所指代的路径下
$str = ‘http://www.google.com‘;
$filename = ‘/*the url you want to save the qrcode image*/‘;
public function make_save_qrcode($str,$filename)
{
    include ‘phpqrcode.php‘;
    QRcode::png($str,$filename,$pixelPerPoint = 4, $outerFrame = 4,$saveandprint=false);
}

?>

如果想生成带logo的二维码并直接保存:

<?php

$value = ‘www.google.com‘; //二维码内容
$filename = ‘/*the url you want to save your qrcode image*/‘;
public function make_qrcode($value)
{
    include ‘phpqrcode.php‘;
    $errorCorrectionLevel = ‘L‘;//容错级别
    $matrixPointSize = 6;//生成图片大小
    //生成二维码图片
    QRcode::png($value, ‘qrcode.png‘, $errorCorrectionLevel, $matrixPointSize, 2);
    $logo = ‘logo.png‘;//准备好的logo图片
    $QR = ‘qrcode.png‘;//已经生成的原始二维码图  

    if ($logo !== FALSE) {
        $QR = imagecreatefromstring(file_get_contents($QR));
        $logo = imagecreatefromstring(file_get_contents($logo));
        $QR_width = imagesx($QR);//二维码图片宽度
        $QR_height = imagesy($QR);//二维码图片高度
        $logo_width = imagesx($logo);//logo图片宽度
        $logo_height = imagesy($logo);//logo图片高度
        $logo_qr_width = $QR_width / 5;
        $scale = $logo_width/$logo_qr_width;
    $logo_qr_height = $logo_height/$scale;
    $from_width = ($QR_width - $logo_qr_width) / 2;
        //重新组合图片并调整大小
        imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,$logo_qr_height, $logo_width, $logo_height);
    }
        //保存图片
    imagepng($QR, $filename);
}

?>     

以上是常用的三个方法,那么如果需要细节的调整,或者满足其他需求,可以详细研究一下 phpqrcode.php这个类库文件。

时间: 2024-12-15 14:35:46

[php]-[01]-生成并保存二维码的相关文章

asp.net.web如何简单生成和保存二维码图片的例子

首先,要有生成二维码图片,需要二维码生成的类库,到官网下载thoughtWorks.QRCode.dll 例子的步骤: 1.创建项目QRCodeTest1,选择asp.net.web窗体应用程序 2.添加引用,引入支持生成二维码图片类库,thoughtWorks.QRCode.dll 3.右键项目QRCodeTest1,选择添加web窗体,生成WebForm1.aspx, 并添加新文件夹photos,存放生成的二维码图片 4.打开webForm1.aspx,可以选择两种方式编写页面(熟悉的话,用

微信小程序动态生成保存二维码

起源:最近小程序需要涉及到一些推广方面的功能,所以要写一个动态生成二维码用户进行下载分享,写完之后受益良多,特此来分享一下: 一.微信小程序动态生成保存二维码 wxml: <canvas style="width: 350rpx;height: 350rpx;background:#f1f1f1;" canvas-id="mycanvas"/> js: // pages/qrcode/qrcode.js var QR = require("..

thinkphp使用phpqrcode生成带logo二维码

//二维码图片保存路径 $pathname = date("Ymd",time()); $pathname = "./Qrcode/" . $pathname; if(!is_dir($pathname)) { //若目录不存在则创建之 mkdir($pathname); } vendor("phpqrcode.phpqrcode"); //二维码URL参数 $text = "http://www.baidu.com"; //

Cordova各个插件使用介绍系列(四)—canvas2ImagePlugin保存二维码到手机本地

详情链接地址:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/cordova-4-canvas2imageplugin/ 在前面几篇文章中简单写了一下,在项目中怎么实现扫描的功能和将信息转化为二维码的功能,现在来介绍一下怎么将生成的二维码保存到手机的本地,这样关于二维码的内容基本上就全面了,好开心~~! 同样的,我还是想说,首先我这个是做基于ionic+ngCordova+Anjularjs的项目,所以,希望大家在看之前已经了解

微信公众平台开发(83) 生成带参数二维码

本文介绍在微信公众平台上如何使用高级接口开发生成带参数二维码的功能. 一.场景二维码 为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 目前有2种类型的二维码,分别是临时二维码和永久二维码,前者有过期时间,最大为1800秒,但能够生成较多数量,后者无过期时间,数量较少(目前参数只支持1--100000).两种二维码分别适用于帐号绑定.用户来源统计等场景. 用户扫描带场景值二维码时,可能推送以下

php利用Qrcode生成带logo二维码

1 , 下载phpqrcode类库 2, 引入qrcode库 我用的是TP框架,直接将下载好的qrcode库放入TP框架的核心框架下的Vendor文件下,vendor('phpqrcode.phpqrcode');  //引入 3,代码实例 vendor("phpqrcode.phpqrcode");  //引入phpqrcode库 $value = 'http://www.baidu.com';   //二维码内容 容错级别: L(QR_ECLEVEL_L,7%),M(QR_ECLE

微信公众平台开发(83) 生成带参数二维码(转)

本文介绍在微信公众平台上如何使用高级接口开发生成带参数二维码的功能. 一.场景二维码 为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 目前有2种类型的二维码,分别是临时二维码和永久二维码,前者有过期时间,最大为1800秒,但能够生成较多数量,后者无过期时间,数量较少(目前参数只支持1--100000).两种二维码分别适用于帐号绑定.用户来源统计等场景. 用户扫描带场景值二维码时,可能推送以下

PHP 生成、识别二维码

温馨提示:经过这 2 天的折腾,我卸载了 php7.1.原因只有一个——我要安装的条形码扩展模块 php-zbarcode 的 c 语言源代码不支持 php7.改源代码改了半天,还是没奏效.最后看 github 上一个温馨的 issue 换回了 php5.6.这下装起来顺利多了-话不多说,正题开始. 一.php 生成 qr code 二维码 phpqrcode 是由 php 编写的.可以生成 QR Code 二维码的第三方包.官网有很多例子可以参考,使用起来很简单,2 行代码. <?php //

Java微信公众平台开发之生成带参二维码(Spring Boot 2.X)

微信官方提供的生成二维码接口得到的是当前公众号的二维码官方文档(一定要先看)目前有2种类型的二维码:临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量,主要用于帐号绑定等不要求二维码永久保存的业务场景永久二维码,是无过期时间的,但数量较少(目前为最多10万个),主要用于适用于帐号绑定.用户来源统计等场景获取带参数的二维码有两种方法先获取二维码ticket,然后凭借ticket通过接口换取二维码图片,但是得到ticket之前首先得获取微