废话不多说了,直接给大家贴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
|
<?php $im = imagecreatefromjpeg( 'D:\phpplace\.jpeg' ); resizeImage( $im ,,, 'xinde' , '.jpg' ); function resizeImage( $im , $maxwidth , $maxheight , $name , $filetype ) { $pic_width = imagesx( $im ); $pic_height = imagesy( $im ); echo "start-----------------" ; if (( $maxwidth && $pic_width > $maxwidth ) && ( $maxheight && $pic_height > $maxheight )) { if ( $maxwidth && $pic_width > $maxwidth ) { $widthratio = $maxwidth / $pic_width ; $resizewidth_tag = true; } if ( $maxheight && $pic_height > $maxheight ) { $heightratio = $maxheight / $pic_height ; $resizeheight_tag = true; } if ( $resizewidth_tag && $resizeheight_tag ) { if ( $widthratio < $heightratio ) $ratio = $widthratio ; else $ratio = $heightratio ; } if ( $resizewidth_tag && ! $resizeheight_tag ) $ratio = $widthratio ; if ( $resizeheight_tag && ! $resizewidth_tag ) $ratio = $heightratio ; $newwidth = $pic_width * $ratio ; $newheight = $pic_height * $ratio ; if (function_exists( "imagecopyresampled" )) { $newim = imagecreatetruecolor( $newwidth , $newheight ); imagecopyresampled( $newim , $im ,,,,, $newwidth , $newheight , $pic_width , $pic_height ); } else { $newim = imagecreate( $newwidth , $newheight ); imagecopyresized( $newim , $im ,,,,, $newwidth , $newheight , $pic_width , $pic_height ); } $name = $name . $filetype ; imagejpeg( $newim , $name ); imagedestroy( $newim ); } else { $name = $name . $filetype ; imagejpeg( $im , $name ); } } |
以上代码内容是小编给大家介绍的基于PHP实现等比压缩图片大小的相关内容,代码简单易懂,哪里写的不好,欢迎各位大侠多多提出宝贵意见,小编非常乐意。