phpピクチャに文字透かし実装コードを追加
8231 ワード
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
80
81
82
83
84
85
86
87
?
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
80
81
82
83
84
85
86
87
<?php
/*PHP
QQ:3697578482
, ,
:
1、 :
include_once 'imageClass.php';
2、 :
$tpl=new image_fu;
3、 :
$tpl->img( , , , , );
:$tpl->img('abc.jpg',' ','ziti.ttf',30,0)
*/
class
image_fu{
private
$image
;
private
$img_info
;
private
$img_width
;
private
$img_height
;
private
$img_im
;
private
$img_text
;
private
$img_ttf
=
''
;
private
$img_new
;
private
$img_text_size
;
private
$img_jd
;
function
img(
$img
=
''
,
$txt
=
''
,
$ttf
=
''
,
$size
=12,
$jiaodu
=0){
if
(isset(
$img
)&&
file_exists
(
$img
)){
//
$this
->image =
$img
;
$this
->img_text=
$txt
;
$this
->img_text_size=
$size
;
$this
->img_jd=
$jiaodu
;
if
(
file_exists
(
$ttf
)){
$this
->img_ttf=
$ttf
;
}
else
{
exit
(
' :'
.
$ttf
.
' !'
);
}
$this
->imgyesno();
}
else
{
exit
(
' :'
.
$img
.
' '
);
}
}
private
function
imgyesno(){
$this
->img_info =
getimagesize
(
$this
->image);
$this
->img_width =
$this
->img_info[0];
//
$this
->img_height=
$this
->img_info[1];
//
//
switch
(
$this
->img_info[2]){
case
1:
$this
->img_im = imagecreatefromgif(
$this
->image);
break
;
case
2:
$this
->img_im = imagecreatefromjpeg(
$this
->image);
break
;
case
3:
$this
->img_im = imagecreatefrompng(
$this
->image);
break
;
default
:
exit
(
' '
);
}
$this
->img_text();
}
private
function
img_text(){
imagealphablending(
$this
->img_im,true);
//
$color
=imagecolorallocate(
$this
->img_im,rand(0,255),rand(0,255),rand(0,255));
$txt_height
=
$this
->img_text_size;
$txt_jiaodu
=
$this
->img_jd;
$ttf_im
=imagettfbbox(
$txt_height
,
$txt_jiaodu
,
$this
->img_ttf,
$this
->img_text);
$w
=
$ttf_im
[2] -
$ttf_im
[6];
$h
=
$ttf_im
[3] -
$ttf_im
[7];
//$w = $ttf_im[7];
//$h = $ttf_im[8];
unset(
$ttf_im
);
$txt_y
=
$this
->img_height-
$h
;
$txt_x
=
$this
->img_width-
$w
;
//$txt_y =0;
//$txt_x =0;
$this
->img_new=@imagettftext(
$this
->img_im,
$txt_height
,
$txt_jiaodu
,
$txt_x
,
$txt_y
,
$color
,
$this
->img_ttf,
$this
->img_text);
@unlink(
$this
->image);
//
switch
(
$this
->img_info[2]) {
//
case
1:imagegif(
$this
->img_im,
$this
->image);
break
;
case
2:imagejpeg(
$this
->img_im,
$this
->image);
break
;
case
3:imagepng(
$this
->img_im,
$this
->image);
break
;
default
:
exit
(
' '
);
}
}
//
function
img_show(){
echo
'<img src="'
.
$this
->image.
'" border="0" alt="'
.
$this
->img_text.
'" />'
;}
//
private
function
img_nothing(){
unset(
$this
->img_info);
imagedestroy(
$this
->img_im);
}
}
?>