PHP设置二维码中间为logo
//PHP设置二维码中间为logo $qcode = './qcode.png'; $logo = imgZoom('./big.jpg','small.png',0.08); list($q_width, $q_height)=getimagesize($qcode); list($l_width, $l_height)=getimagesize($logo); $x_qcode_logo = ($q_width-$l_width)/2; $y_qcode_logo = ($q_height-$l_height)/2;$image_qcode = imagecreatefrompng($qcode); $image_logo = imagecreatefrompng($logo); //合成照片 //imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )---拷贝并合并图像的一部分 //将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。两图像将根据 pct 来决定合并程度,其值范围从 0 到 100。当 pct = 0 时,实际上什么也没做,当为 100 时对于调色板图像本函数和 imagecopy() 完全一样,它对真彩色图像实现了 alpha 透明。 imagecopymerge($image_qcode, $image_logo, $x_qcode_logo,$y_qcode_logo, 0, 0, imagesx($image_logo), imagesy($image_logo), 100); $merge = 'merge_logo.png'; var_dump(imagepng($image_qcode,$merge));/*** 将指定图片按指定比例等比缩放* @param [type] $filename 原图片* @param [type] $newFile 缩放后的图片* @param integer $per 缩放比例* @return [type] 生成存放的路径*/ function imgZoom($filename,$newFile,$per=1){if(!$filename || !$newFile){return flase;}list($width, $height)=getimagesize($filename);$n_w=$width*$per;$n_h=$height*$per;$new=imagecreatetruecolor($n_w, $n_h);$img=imagecreatefromjpeg($filename);//copy部分图像并调整imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height);//图像输出新图片、另存为imagecolorallocatealpha($new, 255, 255, 255, 127);imagepng($new, $newFile);imagedestroy($new);imagedestroy($img);return './'.$newFile; }/** * PHP生成二维码 * @param [type] $url 扫描二维码跳转的url地址 * @param [type] $m 生成二维码的空白区域大小 * @param string $logo 二维码中间logo的地址 * @return [type] 二维码图片直接输出在页面 */ function qrcodeLogo() {$url = !empty($_GET['url']) ? trim($_GET['url']) : 'http://blog.58haha.cn';$m = !empty($_GET['m']) ? trim($_GET['m']) : 2;$logo = 'https://www.baidu.com/img/bd_logo1.png';if($url) {include_once '../phpqrcode/phpqrcode.php';$qrcode = new QRcode();if(!empty($logo)){$qrcode::png($url,'qrcode.png', 'L', 7, $m);createLogo($logo);}else{$qrcode::png($url, false, 'L', 7, $m);}} }/** * 生成logo */ function createLogo($logo){$QR = 'qrcode.png';$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);// 输出图像header("Content-type: image/png");imagepng($QR); }
转载于:https://www.cnblogs.com/yeshaoxiang/p/7867792.html
PHP设置二维码中间为logo相关推荐
- 【绝对靠谱】Vue生成二维码Qrcode,可插入二维码中心logo图标,可以设置二维码颜色大小等属性
效果 代码 npm install vue-qr --save 个别网络用 cnpm install vue-qr --save 安装 <template><div class=&q ...
- 【相对靠谱】Vue生成二维码Qrcode,可插入二维码中心logo图标,可以设置二维码颜色大小等属性
效果 代码 npm install vue-qr --save 个别网络用 cnpm install vue-qr --save 安装 <template><div class=&q ...
- (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果
场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老 ...
- zxing Qr二维码(二维码颜色、logo)
自己封装的二维码生成器,使用方便,案例代码如下 public static void main(String[] args) throws Exception {// logoBufferedImag ...
- qrcode 生成二维码,带logo 带文字描述
qrcode 生成二维码 1.引入 pom.xml 2. ResourceRenderer 3. QRCodeUtil 4. QRCodeController 5. HTML 6. 测试 1.引入 p ...
- Java 生成二维码(带logo 文字)
1. 引入包 <!-- 二维码生成--><dependency><groupId>com.google.zxing</groupId><artif ...
- java 通过Qrcode生成二维码添加图片logo和文字描述
一个简单的javaweb项目 注释比较多直接上代码 附上使用的jar包Qrcode package com.fehorizon.erp.pda.utils;import java.awt.Color; ...
- android加载二维码带中间logo
android加载二维码带中间logo 很简单的,我也是先看了很多博客,然后总结了一下,感谢万能的网友 1导入依赖 //二维码加载依赖 implementation 'com.google.zxing ...
- Android 养成记-1.5 二维码生成+添加logo+识别+扫码
先看图说话: 1.二维码生成: public void generateQRcode() throws FileNotFoundException {String mLink = text.getTe ...
最新文章
- Android内核和Linux内核的区别
- Spine 2D animation for games
- 未能加载文件或程序集“Microsoft.Office.Interop.Owc11, Version=11.0.0.0, ...”或它的某一个依赖项~[解决方案]...
- robo 3t连接_使用robo 3t studio 3t连接到地图集
- MYSQL:Error Code: 1786 Statement violates GTID consistency: CREATE TABLE ... SELECT.
- 狂神Reids学习笔记二
- 进击webpack4 (基础篇:配置 一)
- 微信读书产品调研报告
- DirectX11 With Windows SDK--00 目录
- linux安装包apr安装说明,Linux下安装Apr及其Apr-util的基本步骤
- Premiere cs6导出MP4格式视频
- 精通 Python OpenCV4:第一部分
- css 控制文字换行相关属性
- 7家自媒体创业项目平台收益技巧和差异对比,你适合哪个?
- 国外人经常上的网站,即全球各个领域最大的互联网网站
- 差分隐私 深度学习_深度学习中的差异隐私
- C语言实现数据结构——链队列
- 对于tomcat升级导致游览器访问页面出现的中文乱码问题解决方案
- 适合小白的PPT基本操作
- java 调用天气预报接口_java调用天气预报接口案例
热门文章
- python统计个数的函数_Python
- linux 自动ping脚本,linux上ping脚本及zabbix3.xx上自动发现
- 网络营销外包——网络营销外包新手如何理解优化对网络营销的重要性?
- 网页模板制作只为满足用户需求!
- php中redis怎么使用,redis 怎么使用
- 获取打印机分辨率_喵喵机P2S热敏打印机,升级屏幕带来了哪些体验??
- 多路归并排序_1600W整数排序多路归并
- leetcode 342. Power of Four
- umi搭建react+antd项目(五)子组件编写
- 在CentOS上安装Python