1. [代码]使用方法
1
2
$resizeimage
=
new
resizeimage(
"图片源文件地址"
,
"200"
,
"100"
,
"0"
,
"缩略图地址"
);
//就只用上面的一句话,就能生成缩略图,其中,源文件和缩略图地址可以相同,200,100分别代表宽和高
2. [代码][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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
//使用如下类就可以生成图片缩略图,
<?php
class
resizeimage
{
//图片类型
var
$type
;
//实际宽度
var
$width
;
//实际高度
var
$height
;
//改变后的宽度
var
$resize_width
;
//改变后的高度
var
$resize_height
;
//是否裁图
var
$cut
;
//源图象
var
$srcimg
;
//目标图象地址
var
$dstimg
;
//临时创建的图象
var
$im
;
function
resizeimage(
$img
,
$wid
,
$hei
,
$c
,
$dstpath
)
{
$this
->srcimg =
$img
;
$this
->resize_width =
$wid
;
$this
->resize_height =
$hei
;
$this
->cut =
$c
;
//图片的类型
$this
->type =
strtolower
(
substr
(
strrchr
(
$this
->srcimg,
"."
),1));
//初始化图象
$this
->initi_img();
//目标图象地址
$this
-> dst_img(
$dstpath
);
//--
$this
->width = imagesx(
$this
->im);
$this
->height = imagesy(
$this
->im);
//生成图象
$this
->newimg();
ImageDestroy (
$this
->im);
}
function
newimg()
{
//改变后的图象的比例
$resize_ratio
= (
$this
->resize_width)/(
$this
->resize_height);
//实际图象的比例
$ratio
= (
$this
->width)/(
$this
->height);
if
((
$this
->cut)==
"1"
)
//裁图
{
if
(
$ratio
>=
$resize_ratio
)
//高度优先
{
$newimg
= imagecreatetruecolor(
$this
->resize_width,
$this
->resize_height);
imagecopyresampled(
$newimg
,
$this
->im, 0, 0, 0, 0,
$this
->resize_width,
$this
->resize_height, ((
$this
->height)*
$resize_ratio
),
$this
->height);
ImageJpeg (
$newimg
,
$this
->dstimg);
}
if
(
$ratio
<
$resize_ratio
)
//宽度优先
{
$newimg
= imagecreatetruecolor(
$this
->resize_width,
$this
->resize_height);
imagecopyresampled(
$newimg
,
$this
->im, 0, 0, 0, 0,
$this
->resize_width,
$this
->resize_height,
$this
->width, ((
$this
->width)/
$resize_ratio
));
ImageJpeg (
$newimg
,
$this
->dstimg);
}
}
else
//不裁图
{
if
(
$ratio
>=
$resize_ratio
)
{
$newimg
= imagecreatetruecolor(
$this
->resize_width,(
$this
->resize_width)/
$ratio
);
imagecopyresampled(
$newimg
,
$this
->im, 0, 0, 0, 0,
$this
->resize_width, (
$this
->resize_width)/
$ratio
,
$this
->width,
$this
->height);
ImageJpeg (
$newimg
,
$this
->dstimg);
}
if
(
$ratio
<
$resize_ratio
)
{
$newimg
= imagecreatetruecolor((
$this
->resize_height)*
$ratio
,
$this
->resize_height);
imagecopyresampled(
$newimg
,
$this
->im, 0, 0, 0, 0, (
$this
->resize_height)*
$ratio
,
$this
->resize_height,
$this
->width,
$this
->height);
ImageJpeg (
$newimg
,
$this
->dstimg);
}
}
}
//初始化图象
function
initi_img()
{
if
(
$this
->type==
"jpg"
)
{
$this
->im = imagecreatefromjpeg(
$this
->srcimg);
}
if
(
$this
->type==
"gif"
)
{
$this
->im = imagecreatefromgif(
$this
->srcimg);
}
if
(
$this
->type==
"png"
)
{
$this
->im = imagecreatefrompng(
$this
->srcimg);
}
}
//图象目标地址
function
dst_img(
$dstpath
)
{
$full_length
=
strlen
(
$this
->srcimg);
$type_length
=
strlen
(
$this
->type);
$name_length
=
$full_length
-
$type_length
;
$name
=
substr
(
$this
->srcimg,0,
$name_length
-1);
$this
->dstimg =
$dstpath
;
//echo $this->dstimg;
}
}
?>
1. [代码]使用方法
1
2
|
$resizeimage
=
new
resizeimage(
"图片源文件地址"
,
"200"
,
"100"
,
"0"
,
"缩略图地址"
);
//就只用上面的一句话,就能生成缩略图,其中,源文件和缩略图地址可以相同,200,100分别代表宽和高
|
2. [代码][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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
//使用如下类就可以生成图片缩略图,
<?php
class
resizeimage
{
//图片类型
var
$type
;
//实际宽度
var
$width
;
//实际高度
var
$height
;
//改变后的宽度
var
$resize_width
;
//改变后的高度
var
$resize_height
;
//是否裁图
var
$cut
;
//源图象
var
$srcimg
;
//目标图象地址
var
$dstimg
;
//临时创建的图象
var
$im
;
function
resizeimage(
$img
,
$wid
,
$hei
,
$c
,
$dstpath
)
{
$this
->srcimg =
$img
;
$this
->resize_width =
$wid
;
$this
->resize_height =
$hei
;
$this
->cut =
$c
;
//图片的类型
$this
->type =
strtolower
(
substr
(
strrchr
(
$this
->srcimg,
"."
),1));
//初始化图象
$this
->initi_img();
//目标图象地址
$this
-> dst_img(
$dstpath
);
//--
$this
->width = imagesx(
$this
->im);
$this
->height = imagesy(
$this
->im);
//生成图象
$this
->newimg();
ImageDestroy (
$this
->im);
}
function
newimg()
{
//改变后的图象的比例
$resize_ratio
= (
$this
->resize_width)/(
$this
->resize_height);
//实际图象的比例
$ratio
= (
$this
->width)/(
$this
->height);
if
((
$this
->cut)==
"1"
)
//裁图
{
if
(
$ratio
>=
$resize_ratio
)
//高度优先
{
$newimg
= imagecreatetruecolor(
$this
->resize_width,
$this
->resize_height);
imagecopyresampled(
$newimg
,
$this
->im, 0, 0, 0, 0,
$this
->resize_width,
$this
->resize_height, ((
$this
->height)*
$resize_ratio
),
$this
->height);
ImageJpeg (
$newimg
,
$this
->dstimg);
}
if
(
$ratio
<
$resize_ratio
)
//宽度优先
{
$newimg
= imagecreatetruecolor(
$this
->resize_width,
$this
->resize_height);
imagecopyresampled(
$newimg
,
$this
->im, 0, 0, 0, 0,
$this
->resize_width,
$this
->resize_height,
$this
->width, ((
$this
->width)/
$resize_ratio
));
ImageJpeg (
$newimg
,
$this
->dstimg);
}
}
else
//不裁图
{
if
(
$ratio
>=
$resize_ratio
)
{
$newimg
= imagecreatetruecolor(
$this
->resize_width,(
$this
->resize_width)/
$ratio
);
imagecopyresampled(
$newimg
,
$this
->im, 0, 0, 0, 0,
$this
->resize_width, (
$this
->resize_width)/
$ratio
,
$this
->width,
$this
->height);
ImageJpeg (
$newimg
,
$this
->dstimg);
}
if
(
$ratio
<
$resize_ratio
)
{
$newimg
= imagecreatetruecolor((
$this
->resize_height)*
$ratio
,
$this
->resize_height);
imagecopyresampled(
$newimg
,
$this
->im, 0, 0, 0, 0, (
$this
->resize_height)*
$ratio
,
$this
->resize_height,
$this
->width,
$this
->height);
ImageJpeg (
$newimg
,
$this
->dstimg);
}
}
}
//初始化图象
function
initi_img()
{
if
(
$this
->type==
"jpg"
)
{
$this
->im = imagecreatefromjpeg(
$this
->srcimg);
}
if
(
$this
->type==
"gif"
)
{
$this
->im = imagecreatefromgif(
$this
->srcimg);
}
if
(
$this
->type==
"png"
)
{
$this
->im = imagecreatefrompng(
$this
->srcimg);
}
}
//图象目标地址
function
dst_img(
$dstpath
)
{
$full_length
=
strlen
(
$this
->srcimg);
$type_length
=
strlen
(
$this
->type);
$name_length
=
$full_length
-
$type_length
;
$name
=
substr
(
$this
->srcimg,0,
$name_length
-1);
$this
->dstimg =
$dstpath
;
//echo $this->dstimg;
}
}
?>
|