gpt4 book ai didi

PHP图片加水印实现方法

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PHP图片加水印实现方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了PHP图片加水印实现方法。分享给大家供大家参考,具体如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
echo img_water_mark( "2008112023204423477802.gif" , "copyImg.png" , $savepath =null, $savename = "123.gif" , $positon =2, $alpha =60);
/**
  * 图片加水印(适用于png/jpg/gif格式)
  *
  * @author flynetcn
  *
  * @param $srcImg 原图片
  * @param $waterImg 水印图片
  * @param $savepath 保存路径
  * @param $savename 保存名字
  * @param $positon 水印位置
  * 1:顶部居左, 2:顶部居右, 3:居中, 4:底部局左, 5:底部居右
  * @param $alpha 透明度 -- 0:完全透明, 100:完全不透明
  *
  * @return 成功 -- 加水印后的新图片地址
  *     失败 -- -1:原文件不存在, -2:水印图片不存在, -3:原文件图像对象建立失败-4:水印文件图像对象建立失败, -5:加水印后的新图片保存失败
  */
function img_water_mark( $srcImg , $waterImg , $savepath =null, $savename =null, $positon =5, $alpha =30)
{
   $temp = pathinfo ( $srcImg );
   $name = $temp [ 'basename' ];
   $path = $temp [ 'dirname' ];
   $exte = $temp [ 'extension' ];
   $savename = $savename ? $savename : $name ;
   $savepath = $savepath ? $savepath : $path ;
   $savefile = $savepath . '/' . $savename ;
   $srcinfo = @ getimagesize ( $srcImg );
   if (! $srcinfo ) {
     return -1; //原文件不存在
   }
   $waterinfo = @ getimagesize ( $waterImg );
   if (! $waterinfo ) {
     return -2; //水印图片不存在
   }
   $srcImgObj = image_create_from_ext( $srcImg );
   if (! $srcImgObj ) {
     return -3; //原文件图像对象建立失败
   }
   $waterImgObj = image_create_from_ext( $waterImg );
   if (! $waterImgObj ) {
     return -4; //水印文件图像对象建立失败
   }
   switch ( $positon ) {
   //1顶部居左
   case 1: $x = $y =0; break ;
   //2顶部居右
   case 2: $x = $srcinfo [0]- $waterinfo [0]; $y = 0; break ;
   //3居中
   case 3: $x = ( $srcinfo [0]- $waterinfo [0])/2; $y = ( $srcinfo [1]- $waterinfo [1])/2; break ;
   //4底部居左
   case 4: $x = 0; $y = $srcinfo [1]- $waterinfo [1]; break ;
   //5底部居右
   case 5: $x = $srcinfo [0]- $waterinfo [0]; $y = $srcinfo [1]- $waterinfo [1]; break ;
   default : $x = $y =0;
   }
   imagecopymerge( $srcImgObj , $waterImgObj , $x , $y , 0, 0, $waterinfo [0], $waterinfo [1], $alpha );
   switch ( $srcinfo [2]) {
   case 1: imagegif( $srcImgObj , $savefile ); break ;
   case 2: imagejpeg( $srcImgObj , $savefile ); break ;
   case 3: imagepng( $srcImgObj , $savefile ); break ;
   default : return -5; //保存失败
   }
   imagedestroy( $srcImgObj );
   imagedestroy( $waterImgObj );
   return $savefile ;
}
function image_create_from_ext( $imgfile )
{
   $info = getimagesize ( $imgfile );
   $im = null;
   switch ( $info [2]) {
   case 1: $im =imagecreatefromgif( $imgfile ); break ;
   case 2: $im =imagecreatefromjpeg( $imgfile ); break ;
   case 3: $im =imagecreatefrompng( $imgfile ); break ;
   }
   return $im ;
}
?>

希望本文所述对大家PHP程序设计有所帮助.

最后此篇关于PHP图片加水印实现方法的文章就讲到这里了,如果你想了解更多关于PHP图片加水印实现方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com