php gd等比例缩放压缩图片函数解决办法
内容摘要
这篇文章主要为大家详细介绍了php gd等比例缩放压缩图片函数简单示例,具有一定的参考价值,可以用来参考一下。
对php gd等比例缩放压缩图片函数简单示例对此感兴趣的朋友,看看
对php gd等比例缩放压缩图片函数简单示例对此感兴趣的朋友,看看
文章正文
这篇文章主要为大家详细介绍了php gd等比例缩放压缩图片函数简单示例,具有一定的参考价值,可以用来参考一下。
对php gd等比例缩放压缩图片函数简单示例对此感兴趣的朋友,看看idc笔记做的技术笔记!
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 | <code class = "language-php" > /** * * @param * @arrange (www.idcnote.com) **/ /** * desription 判断是否gif动画 * @param sting $image_file图片路径 * @return boolean t 是 f 否 */ function check_gifcartoon( $image_file ){ $fp = fopen ( $image_file , 'rb' ); $image_head = fread ( $fp ,1024); fclose( $fp ); return preg_match( "/" . chr (0x21). chr (0xff). chr (0x0b). 'NETSCAPE2.0' . "/" , $image_head )?false:true; } /** * desription 压缩图片 * @param sting $imgsrc 图片路径 * @param string $imgdst 压缩后保存路径 */ function compressed_image( $imgsrc , $imgdst ){ list( $width , $height , $type )= getimagesize ( $imgsrc ); $new_width = ( $width >600?600: $width )*0.9; $new_height =( $height >600?600: $height )*0.9; switch ( $type ){ case 1: $giftype =check_gifcartoon( $imgsrc ); if ( $giftype ){ header( 'Content-Type:image/gif' ); $image_wp =imagecreatetruecolor( $new_width , $new_height ); $image = imagecreatefromgif( $imgsrc ); imagecopyresampled( $image_wp , $image , 0, 0, 0, 0, $new_width , $new_height , $width , $height ); //75代表的是质量、压缩图片容量大小 imagejpeg( $image_wp , $imgdst ,75); imagedestroy( $image_wp ); } break ; case 2: header( 'Content-Type:image/jpeg' ); $image_wp =imagecreatetruecolor( $new_width , $new_height ); $image = imagecreatefromjpeg( $imgsrc ); imagecopyresampled( $image_wp , $image , 0, 0, 0, 0, $new_width , $new_height , $width , $height ); //75代表的是质量、压缩图片容量大小 imagejpeg( $image_wp , $imgdst ,75); imagedestroy( $image_wp ); break ; case 3: header( 'Content-Type:image/png' ); $image_wp =imagecreatetruecolor( $new_width , $new_height ); $image = imagecreatefrompng( $imgsrc ); imagecopyresampled( $image_wp , $image , 0, 0, 0, 0, $new_width , $new_height , $width , $height ); //75代表的是质量、压缩图片容量大小 imagejpeg( $image_wp , $imgdst ,75); imagedestroy( $image_wp ); break ; } } </code> |
注:关于php gd等比例缩放压缩图片函数简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释