PHP 实现水印图片生成
可以用phpqrcode配合生成二维码带文字
目录
一、字体文件
二、使用
1.效果
2.代码参考
总结
一、字体文件
生成字体需要用到字体文件,放在百度网盘中有需要可以自行取用:
https://pan.baidu.com/s/1BMhvW-m4HTYhAVCj7guLWw 提取码:isvp
二、使用
1.效果
2.代码参考
// 生成二维码存储路径$erweimaPath = getcwd() . '/static/文件夹路径/';// 二维码最终合成图的文件路径/名字$sFullPath = $erweimaPath . $sFileName;//文字+背景图合成后存储的路径$font+blackPath = getcwd() . '/static/文件夹路径/';// 背景图路径$backPath = getcwd() . '/static/文件夹路径/back.png';// 文件存储名字$sFileName ='这是举例的文件名字'. '.png';// 二维码+文字+背景图合成最终需要图片后的存储路径$erweima+font+back = getcwd() . '/static/文件夹路径/';// 需要的文字$text = '我的店铺';// 判断一下如果最终图片存在就不再生成了直接返回现有图片if (\file_exists($sFullPath) === false) {1:合成文字和背景图// 获取背景图片信息 - 如果没有可以生成一张背景图$backInfo = getimagesize($backPath);// 获取图片扩展名$type = image_type_to_extension($backInfo[2], false);// 动态导入内存$fun = "imagecreatefrom{$type}";$image = $fun($backPath);// 背景宽度$bgWidth = imagesx($image);// 背景高度$bgHeight = imagesy($image);// 导入字体文件// linux 路径导入方法$font = getcwd() . '/static/PingFangMedium.ttf';// windows 路径导入方法// $font = dirname(__FILE__) . '/PingFangMedium.ttf';//获取文字所需的尺寸大小 $fontBox = imagettfbbox(50, 0, $font, $text);// 背景颜色$black = imagecolorallocate($image, 0, 0, 0);//生成的文件名$haibao_filename = $font+blackPath . $sFileName;// 写入文字,文字大小、旋转率、X坐标(根据背景图宽让文字居中)、Y坐标imagettftext($image, 50, 0, ceil(($bgWidth - $fontBox[2]) / 2), 1150, $black, $font, $text);// 输出到目标文件imagepng($image, $haibao_filename);2:合成带文字背景图和二维码// 二维码携带的内容(链接,文字等...)$sHttpUrl = "content";// 收款码携带的内容$value = $sHttpUrl;// 容错率$level = 'L';// 二维码大小$size = 22;// 生成二维码QRcode::png($value, $sFullPath, $level, $size, 2);// 获取保存的带文字的背景图$backImg = imagecreatefrompng($haibao_filename);// 获取保存的二维码路径$qrcodeImg = imagecreatefrompng($sFullPath);// 合成图片imagecopymerge($backImg, $qrcodeImg, 160, 260, 0, 0, imagesx($qrcodeImg), imagesy($qrcodeImg), 100);// 图片保存地址$strQrcodeBackPath = $erweima+font+back . $sFileName;// 输出合成图片imagepng($backImg, $strQrcodeBackPath);}// 图片存在就不再生成了直接返回现有图片$simgPath = \base_url() . '/static/erweima+font+back(文件夹中)/' . $sFileName . '?r=' . time();return $sCodePath;
总结
有几点需要注意的分享一下:
1:字体文件的路径(只能放在同级目录里面不然会找不到【我是放在控制器目录里面的】)
2:liunx 和 windows 引入字体的方式不同(当时这个问题一直在liunx上报错找不到字体,还是挺困扰人的)
PHP 实现水印图片生成相关推荐
- [导入]利用PIL生成水印图片或文字
最近在做一个图片网站,要处理很多图片,处理图片少不了加水印了,呵呵.PIL用得不熟,在网上找了一圈,加上自己稍微修改了一下,用起来也算方便,生成效果也不错,呵呵,支持透明的png水印图片,透明度和水印 ...
- c# 添加图片水印,可以指定水印位置+生成缩略图[付上帅图1,2,3,4]
早上,一哥儿发来添加图片水印的资料.有三个信息,如下: xx 09:57:35 http://index.cnblogs.com/archive/2004/10/20/544 ...
- php 缩略图增加水印,PHP生成缩略图加图片水印代码
一个PHP图片加水印, 生成缩略图类,觉得注释的挺清楚,与大家分享,如果想为你的PHP程序添加图片水印或者生成缩略图的话,应该是个不错的选择. PHP生成缩略图加图片水印代码<?php // 原 ...
- 前端水印生成方案(网页水印+图片水印)
参考链接 不能说的秘密--前端也能玩的图片隐写术 阮一峰-Mutation Observer API lucifer-基于KM水印的图片网页水印实现方案 damon-网页水印明水印前端SVG实现方案 ...
- 前端web页面防截屏水印生成方案(网页水印+图片水印)
前端水印生成方案 前段时间做某系统审核后台,出现了审核人员截图把内容外部扭曲的情况,虽然截图内容不是特别敏感,但是安全问题还是不能忽略.于是便在系统页面上面加上了水印,对于审核人员截图等敏感操作有一定 ...
- 文字转图片,文字水印图片,合成图片,教你 Python 生成网站原创配图!
又是为站佬们服务(写)水文的一篇,如何应用python来生成或者说是合成自己的原创图片,适合各位站群大佬哥们生成自己的图片,避免没有配图或者侵权碰瓷的尴尬,当然本渣渣这里分享的仅仅是源码demo,后续 ...
- Java生成动态生成水印图片,为图片打水印. Java为图片打水印
整体思路如下 : (删除了部分代码,不影响代码执行,根据实际情况进行调整) 获取需要打水印的图片 获取画布对象 设置水印属性 为图片画上水印数据 生成带水印的图片 返回路径 import cn.hut ...
- c# 添加图片水印,可以指定水印位置+生成缩略图
c# 添加图片水印,可以指定水印位置+生成缩略图 图片上传函数,进行判断是否加水印,做出两种处理方式: /**//// <summary> /// 上传图片代码 /// </summ ...
- 微信小程序调用相机选择图片生成水印
项目近期有一个需求,是在小程序使用相机拍照时,页面缩略图和上传服务器(或保存本地)的都是带水印的,水印文案是当前的时间和当前所处的地点. 前期使用了微信小程序的wx.chooseImage相机拍照,再 ...
最新文章
- 终于在昆明看见下雪了
- [WPF疑难]ErrorTemplate显示与隐藏问题
- 四十四、Mysql的命令和PyMysql
- c++ template(9)trait和Policy
- 揭秘!业界创新的代码仓库加密技术
- 机械学哪种计算机语言,对于机器学习,到底该选择哪种编程语言?
- 设计模式12——中介者模式
- ubuntu HackRF One相关环境搭建
- Java开发笔记(一百三十九)JavaFX的输入框
- [JavaScript] 怎么使用JS禁止复制粘贴
- 什么是慢查询?如何优化?
- 如何把几张图片整合到一张图片?
- 亲历的商务谈判过程(续)——谈谈国企和我的经历
- 微型计算机联想扬天a6800,商务新选择 联想扬天A6800V评测
- 毕业论文找文献是个问题,我直接用python把全网文献爬了一遍,这波就很舒服
- 【云栖大会】菜鸟网络CTO王文彬:智慧互联 重构物流
- 新手小白,做短视频自媒体创业,需要准备什么?
- oppok5和荣耀play4tpro哪个好
- Day8 打卡第八天
- php公众号模板消息群发,微信公众平台|模板消息群发功能