首页 >

PHP图片等比缩放和增加Logo水印代码详解和注释

后端开发|php教程PHP图片等比缩放和增加Logo水印代码详解和注释
图片水印, php操作图片, PHP图片优化, php图片水印
后端开发-php教程
PHP图片等比缩放和增加Logo水印代码详解和注释
有道词典 源码,vscode语法高亮c语言,ubuntu 固定亮度,tomcat很容易卡死,爬虫 机器行为,php 测试驱动,如何免费做seo 留痕,一元购网站破解,移动端展示页面html模板lzw
//PHP图片的等比缩放和增加Logo水印  /** * 等比缩放函数(以保存的方式实现) * @param string $picName 被缩放的处理图片源 * @param int $maxx 缩放后图片的最大宽度 * @param int $maxy 缩放后图片的最大高度 * @param string $pre 缩放后图片名的前缀名 * @return String 返回后的图片名称(带路径),如a.jpg=>s_a.jpg */function imageNewageUpdateSize($picName,$maxx=100,$maxy=100,$pre="s_"){    $imageNewageInfo = getimageNewageSize($picName); //获取图片的基本信息         $w = $imageNewageInfo[0];//获取宽度    $h = $imageNewageInfo[1];//获取高度         //获取图片的类型并为此创建对应图片资源        switch($imageNewageInfo[2]){        case 1: //gif            $imageNew = imageNewagecreatefromgif($picName);            break;        case 2: //jpg            $imageNew = imageNewagecreatefromjpeg($picName);            break;        case 3: //png            $imageNew = imageNewagecreatefrompng($picName);            break;        default:            die("图片类型错误!");    }         //计算缩放比例    if(($maxx/$w)>($maxy/$h)){        $b = $maxy/$h;    }else{        $b = $maxx/$w;    }         //计算出缩放后的尺寸    $nw = floor($w*$b);    $nh = floor($h*$b);         //创建一个新的图像源(目标图像)    $nimageNew = imageNewagecreatetruecolor($nw,$nh);             //执行等比缩放    imageNewagecopyresampled($nimageNew,$imageNew,0,0,0,0,$nw,$nh,$w,$h);         //输出图像(根据源图像的类型,输出为对应的类型)    $picimageNewageInfo = pathimageNewageInfo($picName);//解析源图像的名字和路径信息    $newpicName= $picimageNewageInfo["dirname"]."/".$pre.$picimageNewageInfo["basename"];    switch($imageNewageInfo[2]){        case 1:            imageNewagegif($nimageNew,$newpicName);            break;        case 2:            imageNewagejpeg($nimageNew,$newpicName);            break;        case 3:            imageNewagepng($nimageNew,$newpicName);            break;    }    //释放图片资源    imageNewagedestroy($imageNew);    imageNewagedestroy($nimageNew);    //返回结果    return $newpicName;} //调用echo imageNewageUpdateSize("./imageNewages/leyangjun.jpg",400,400,"ss_");  //你自己要添加的图片   /** * 为一张图片添加上一个logo图片水印(以保存的方式实现) * @param string $picName 被处理图片源 * @param string $logo 水印图片 * @param string $pre 处理后图片名的前缀名 * @return String 返回后的图片名称(带路径),如a.jpg=>n_a.jpg */function imageNewageUpdateLogo($picName,$logo,$pre="n_"){    $picNameimageNewageInfo = getimageNewageSize($picName); //获取图片源的基本信息    $logoimageNewageInfo = getimageNewageSize($logo); //获取logo图片的基本信息    //var_dump($logoimageNewageInfo);    //根据图片类型创建出对应的图片源    switch($picNameimageNewageInfo[2]){        case 1: //gif            $imageNew = imageNewagecreatefromgif($picName);            break;        case 2: //jpg            $imageNew = imageNewagecreatefromjpeg($picName);            break;        case 3: //png            $imageNew = imageNewagecreatefrompng($picName);            break;        default:            die("图片类型错误!");    }    //根据logo图片类型创建出对应的图片源    switch($logoimageNewageInfo[2]){        case 1: //gif            $logoimageNew = imageNewagecreatefromgif($logo);            break;        case 2: //jpg            $logoimageNew = imageNewagecreatefromjpeg($logo);            break;        case 3: //png            $logoimageNew = imageNewagecreatefrompng($logo);            break;        default:            die("logo图片类型错误!");    }          //执行图片水印处理    源图的高-logo图的高       源图的宽-logo图的宽    imageNewagecopyresampled($imageNew,$logoimageNew,$picNameimageNewageInfo[0]-$logoimageNewageInfo[0],$picNameimageNewageInfo[1]-$logoimageNewageInfo[1],0,0,$logoimageNewageInfo[0],$logoimageNewageInfo[1],$logoimageNewageInfo[0],$logoimageNewageInfo[1]);         //输出图像(根据源图像的类型,输出为对应的类型)    $picimageNewageInfo = pathimageNewageInfo($picName);//解析源图像的名字和路径信息    $newpicName= $picimageNewageInfo["dirname"]."/".$pre.$picimageNewageInfo["basename"];    switch($picNameimageNewageInfo[2]){        case 1:            imageNewagegif($imageNew,$newpicName);            break;        case 2:            imageNewagejpeg($imageNew,$newpicName);            break;        case 3:            imageNewagepng($imageNew,$newpicName);            break;    }    //释放图片资源    imageNewagedestroy($imageNew);    imageNewagedestroy($logoimageNew);    //返回结果    return $newpicName;} //测试//echo imageNewageUpdateLogo("./imageNewages/leyangjun.jpg","./imageNewages/logo.jpg");  //对应添加你的图片,和你的logo水印图片 OK
busybox 源码库,vscode搭建lua,ubuntu lirc,Tomcat如何挂载,odb-sqlite 编译,jsp验证码插件下载,前端框架兼容IE9,数据库爬虫英文缩写,php判断验证码,怎么制作seo方案,用jsp做的网站代码,微信二维码网页规律,操作成功页面模板lzw

PHP图片等比缩放和增加Logo水印代码详解和注释
  • PHP图片添加水印功能示例小结
  • PHP图片添加水印功能示例小结 | PHP图片添加水印功能示例小结 ...

    PHP图片等比缩放和增加Logo水印代码详解和注释
  • windows下安装php_imagick拓展
  • windows下安装php_imagick拓展 | windows下安装php_imagick拓展 ...

    PHP图片等比缩放和增加Logo水印代码详解和注释
  • php抓取网站图片的程序
  • php抓取网站图片的程序 | php抓取网站图片的程序 ...