這篇文章主要介紹了PHP實現壓縮圖片尺寸並轉為jpg格式的方法,涉及php針對圖片的讀取、計算、轉換、輸出等相關操作技巧,需要的朋友可以參考下
本文執行個體講述了PHP實現壓縮圖片尺寸並轉為jpg格式的方法。分享給大家供大家參考,具體如下:
<?phpfunction ImageToJPG($srcFile,$dstFile,$towidth,$toheight){ $quality=80; $data = @GetImageSize($srcFile); switch ($data['2']) { case 1: $im = imagecreatefromgif($srcFile); break; case 2: $im = imagecreatefromjpeg($srcFile); break; case 3: $im = imagecreatefrompng($srcFile); break; case 6: $im = ImageCreateFromBMP( $srcFile ); break; } // $dstX=$srcW=@ImageSX($im); // $dstY=$srcH=@ImageSY($im); $srcW=@ImageSX($im); $srcH=@ImageSY($im); //$towidth,$toheight if($toheight/$srcW > $towidth/$srcH){ $b = $toheight/$srcH; }else{ $b = $towidth/$srcW; } //計算出圖片縮放後的寬高 // floor 捨去小數點部分,取整 $new_w = floor($srcW*$b); $new_h = floor($srcH*$b); $dstX=$new_w; $dstY=$new_h; $ni=@imageCreateTrueColor($dstX,$dstY); @ImageCopyResampled($ni,$im,0,0,0,0,$dstX,$dstY,$srcW,$srcH); @ImageJpeg($ni,$dstFile,$quality); @imagedestroy($im); @imagedestroy($ni);}//ImageToJPG('源檔案名稱','目標檔案名',目標寬,目標高);ImageToJPG('test2.png','test2.jpg',80,50);