2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php实现图片上传时添加文字和图片水印技巧

php实现图片上传时添加文字和图片水印技巧

时间:2023-05-11 09:50:35

相关推荐

php实现图片上传时添加文字和图片水印技巧

php教程|php手册

php,文字水印,图片水印,

php教程-php手册

php实现图片上传时添加文字和图片水印技巧,

files exchange源码,vscode(uesr),ubuntu下qt开发,moven tomcat,c sqlite更新,接收服务器主机名,微信wordpress插件,移动前端框架mui,react 爬虫,php源码网站安装,T1seo,岛国网站源码,验证码网页下载,儿童博客模板,注册页面校验,简繁英3合1企业网站生成管理系统,mp3源程序lzw

本文实现的功能特别适用于一些商城和图片站中,分享了图片在上传时添加文字和图片水印的技巧,供大家参考,具体内容如下

论坛源码 手机版 aspx,ubuntu 怎么启动网卡,tomcat环境字符集乱码,拉勾网爬虫公司,php简单系统开发,苏州seo网站lzw

1. water.class.php

网站源码选选择,ubuntu显示进程信息,衣柜潮湿有爬虫,php完全,汉口seo价格lzw

check($img) || !$this->watermark_on) return false; $water_img = $water_img ? $water_img : $this->water_img; //水印的开启状态 $waterimg_on = $this->check($water_img) ? 1 : 0; //判断是否在原图上操作 $out_img = $out_img ? $out_img : $img; //判断水印的位置 $pos = $pos ? $pos : $this->pos; //水印文字 $text = $text ? $text : $this->text; $img_info = getimagesize($img); $img_w = $img_info[0]; $img_h = $img_info[1]; //判断水印图片的类型 if( $waterimg_on ){$w_info = getimagesize($water_img);$w_w = $w_info[0];$w_h = $w_info[1];if ( $img_w < $w_w || $img_h color)!=7 ) return FALSE;$text_info = imagettfbbox($this->size, 0, $this->font, $text);$w_w = $text_info[2] - $text_info[6];$w_h = $text_info[3] - $text_info[7]; } //建立原图资源 switch ( $img_info[2] ){case 1: $res_img = imagecreatefromgif($img); break;case 2: $res_img = imagecreatefromjpeg($img); break;case 3: $res_img = imagecreatefrompng($img); break; } //确定水印的位置 switch ( $pos ){case 1: $x = $y =25; break;case 2: $x = ($img_w - $w_w)/2; $y = 25; break;case 3: $x = $img_w - $w_w; $y = 25; break;case 4: $x = 25; $y = ($img_h - $w_h)/2; break;case 5: $x = ($img_w - $w_w)/2; $y = ($img_h - $w_h)/2; break;case 6: $x = $img_w - $w_w; $y = ($img_h - $w_h)/2; break;case 7: $x = 25; $y = $img_h - $w_h; break;case 8: $x = ($img_w - $w_w)/2; $y = $img_h - $w_h; break;case 9: $x = $img_w - $w_w; $y = $img_h - $w_h; break;default : $x = mt_rand(25, $img_w - $w_w); $y = mt_rand(25, $img_h - $w_h); } //写入图片资源 if( $waterimg_on ){imagecopymerge($res_img, $w_img, $x, $y, 0, 0, $w_w, $w_h, $this->pct); }else{ $r = hexdec(substr($this->color, 1,2)); $g = hexdec(substr($this->color, 3,2)); $b = hexdec(substr($this->color, 5,2)); $color = imagecolorallocate($res_img, $r, $g, $b); imagettftext($res_img, $this->size, 0, $x, $y, $color, $this->font, $text); }//生成图片类型 switch ( $img_info[2] ){ case 1:imagecreatefromgif($res_img,$out_img);break; case 2://imagecreatefromjpeg($res_img,$out_img);imagejpeg($res_img,$out_img);break; case 3:imagejpeg($res_img,$out_img);break; } if(isset($res_img)) imagedestroy ($res_img); if(isset($w_img)) imagedestroy($w_img); return TRUE;} //验证图片是否存在 private function check($img){$type = array(.jpg,.jpeg,.jpg,.jpg);$img_type = strtolower(strrchr($img, .));return extension_loaded(gd) && file_exists($img) && in_array($img_type, $type); } }

2. test1.php

watermark(12.jpg,5);//$image->watermark(12.jpg,1);

3.效果图

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