600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整【PHP】

ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整【PHP】

时间:2020-07-25 05:30:11

相关推荐

ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整【PHP】

后端开发|php教程

ThinkPHP,水印,修复,PNG透明,增加,JPEG,图片质量

后端开发-php教程

本文实例讲述了ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整的方法。分享给大家供大家参考。具体实现方法如下:

绚丽界面源码下载 vs mfc,官网下载vscode特别慢,Ubuntu读取apfs,tomcat有哪些目录,python 爬虫认证,php采集阿里巴巴,seo培训班怎么学优化,网站内页降权 关键词排名下降lzw

TP自带有图片类,有给图片加水印的功能。

这里完善了:

1. png水印透明

2. 加水印后质量调整(只限于JPG格式)

代码如下:

页游源码,ubuntu1804联网,tomcat字符集配置,pycharm爬虫文本,php开源项目赚钱,滨海新区上门seo技术要多少钱lzw

/**

+———————————————————-

* 为图片添加水印

+———————————————————-

* @static public

+———————————————————-

* @param string $source 原文件名

* @param string $water 水印图片

* @param string $$savename 添加水印后的图片名

* @param string $alpha 水印的透明度

+———————————————————-

* @return string

+———————————————————-

* @throws ThinkExecption

+———————————————————-

*/

static public function water($source, $water, $savename=null, $alpha=80) {

//检查文件是否存在

if (!file_exists($source) || !file_exists($water))

return false;

ppp 源码分析,ubuntu如何复制主题,tomcat登录身份验证,淄博爬虫店,最新版php,seo课程培训seo博客lzw

//图片信息

$sInfo = self::getImageInfo($source);

$wInfo = self::getImageInfo($water);

//如果图片小于水印图片,不生成图片

if ($sInfo["width"] < $wInfo["width"] || $sInfo[height] < $wInfo[height])

return false;

//建立图像

$sCreateFun = "imagecreatefrom" . $sInfo[ ype];

$sImage = $sCreateFun($source);

$wCreateFun = "imagecreatefrom" . $wInfo[ ype];

$wImage = $wCreateFun($water);

//设定图像的混色模式

imagealphablending($wImage, true);

//图像位置,默认为右下角右对齐

$posY = $sInfo["height"] – $wInfo["height"];

$posX = $sInfo["width"] – $wInfo["width"];

/* 为了保持PNG的透明效果 使用imagecopy 此处为修改过的*/

imagecopy($sImage, $wImage, $posX, $posY, 0, 0, $wInfo[width], $wInfo[height]);

//生成混合图像,这是系统的

// imagecopymerge($sImage, $wImage, $posX, $posY, 0, 0, $wInfo[width],$wInfo[height], $alpha);

//输出图像

$ImageFun = Image . $sInfo[ ype];

//如果没有给出保存文件名,默认为原图像名

if (!$savename) {

$savename = $source;

@unlink($source);

}

//保存图像,如果是jpg,则设置一下水印质量 此处为修改过的:

if ($sInfo[ ype] == "jpg" || $sInfo[ ype] == "jpeg") {

imagejpeg($sImage, $savename, 90);//第3个参数即使质量大小,因为只有imagejpeg支持这个参数

} else {

$ImageFun($sImage, $savename);

}

//$ImageFun($sImage, $savename);//这是系统的

imagedestroy($sImage);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。