Heim >Backend-Entwicklung >PHP-Tutorial >php生成带logo 二维码图像的代码分享

php生成带logo 二维码图像的代码分享

WBOY
WBOYOriginal
2016-07-25 08:57:191263Durchsuche
本文介绍下,php生成带logo的二维码图像的一例代码,学习二维码的朋友,可以做个参考。

在php中,生成二维码图片,可以借助QRcode类实现。

有关QRcode类的内容,请参考文章:php生成二维码图像的类QRcode

以下介绍在二维码QR图中加LOGO的实现方法,主要分为以下几个步骤:

步骤1,生成QR原图;

步骤2,以加水印的方式加上LOGO图片,即可生成个性化的二维码。

<?php
/**
* 二维码图片 添加logo
* edit by bbs.it-home.org
*/
$data = 'http://bbs.it-home.org';
$size = '200x200';
$logo = './logo.jpg'; // 中间那logo图

// 通过google api生成未加logo前的QR图,也可以自己使用RQcode类生成
$png = 'http://chart.googleapis.com/chart?chs=' . $size . '&cht=qr&chl=' . urlencode($data) . '&chld=L|1&choe=UTF-8';

$QR = imagecreatefrompng($png);
if($logo !== FALSE)
{
 $logo = imagecreatefromstring(file_get_contents($logo));
 
 $QR_width = imagesx($QR);
 $QR_height = imagesy($QR);
 
 $logo_width = imagesx($logo);
 $logo_height = imagesy($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);
}
header('Content-type: image/png');
imagepng($QR);
imagedestroy($QR);
?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn