本文实例讲述了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
|
<?php $im = 'xiatian.jpg' ; $im2 = 'winter3.jpg' ; $img = getImage( $im ); $bimg = getImage( $im2 ); //$image = getimagesize($im); //print_r($image); //Array ( [0] => 150 width /*[1] => 150 height [2] => 3 图片类型 [3] => width="150" height="150" [bits] => 8 [mime] => image/png )*/ //图片复制组合------$bimg---- imagecopy( $bimg , $img , 300, 4, 0, 0, getWidth( $im ),getHeight( $im )); //加水印文字 $color = imagecolorallocate( $bimg ,255, 255, 0); $str = "中国" ; $str = mb_convert_encoding( $str , "html-entities" , "utf-8" ); imagettftext( $bimg , 42, 0, rand(20,getWidth( $im2 )-100), rand(40,getHeight( $im2 )), $color , 'MSYH.TTF' , $str ); //剪切,重新生成缩略图 $new = imagecreatetruecolor(50, 50); imagecopyresized( $new , $bimg , 0, 0, 0, 0, 50, 50, getWidth( $im2 ), getHeight( $im2 )); //输出到浏览器 header( "Content-Type: image/jpeg" ); //如果为png图片也可正常显示,浏览器负责正确解析 imagejpeg( $new ); //生成大图,小图 imagejpeg( $new , 'small.jpg' ); imagejpeg( $bimg , 'big.jpg' ); function getImage( $img_file ) { $image = getimagesize ( $img_file ); //判断是那种图片类型 switch ( $image [2]) { case 1: $img = @imagecreatefromgif( $img_file ); break ; case 2: $img = @imagecreatefromjpeg( $img_file ); break ; case 3: $img = @imagecreatefrompng( $img_file ); break ; } return $img ; } function getWidth( $img_file ) { $image = getimagesize ( $img_file ); return $image [0]; } function getHeight( $img_file ) { $image = getimagesize ( $img_file ); return $image [1]; } ?> |
希望本文所述对大家PHP程序设计有所帮助。