$fullFileName = $uploadImgDir."/".$filename; $thumbFileName = $filename.".thumb"; if ($type = pathinfo($fullFileName, PATHINFO_EXTENSION)) { switch ($type) { case 'jpg'; $isJpeg = true; break; case 'gif'; $isGif = true; break; case 'png'; $isPng = true; break; default: return false; } // Load if(isset($isGif) && $isGif){ $source = imagecreatefromgif($fullFileName); $rotate = imagerotate($source, $degrees, 0); imagegif($rotate,$fullFileName,100); return true; }elseif(isset($isJpeg) && $isJpeg){ $source = imagecreatefromjpeg($fullFileName); $rotate = imagerotate($source, $degrees, 0); imagejpeg($rotate,$fullFileName,100); return true; }elseif(isset($isPng) && $isPng){ //這個地方報錯了 **$source = imagecreatefrompng($fullFileName); $rotate = imagerotate($source, $degrees, 0); imagepng($rotate,$fullFileName,100);** return true; }else{ return false; }
jgp的旋轉沒問題,png 報錯了
imagecreatefrompng(): gd-png: fatal libpng error: Read Error: truncated data
求解決
或者求png圖片旋轉的好方法
回複內容:
$fullFileName = $uploadImgDir."/".$filename; $thumbFileName = $filename.".thumb"; if ($type = pathinfo($fullFileName, PATHINFO_EXTENSION)) { switch ($type) { case 'jpg'; $isJpeg = true; break; case 'gif'; $isGif = true; break; case 'png'; $isPng = true; break; default: return false; } // Load if(isset($isGif) && $isGif){ $source = imagecreatefromgif($fullFileName); $rotate = imagerotate($source, $degrees, 0); imagegif($rotate,$fullFileName,100); return true; }elseif(isset($isJpeg) && $isJpeg){ $source = imagecreatefromjpeg($fullFileName); $rotate = imagerotate($source, $degrees, 0); imagejpeg($rotate,$fullFileName,100); return true; }elseif(isset($isPng) && $isPng){ //這個地方報錯了 **$source = imagecreatefrompng($fullFileName); $rotate = imagerotate($source, $degrees, 0); imagepng($rotate,$fullFileName,100);** return true; }else{ return false; }
jgp的旋轉沒問題,png 報錯了
imagecreatefrompng(): gd-png: fatal libpng error: Read Error: truncated data
求解決
或者求png圖片旋轉的好方法
imagepng($rotate,$fullFileName,100);的問題
把第三個參數去掉就行了。不知道具體原因。
第三個參數是逼真度,png為什麼不能100%保真。
可以參考 OSC連結
路由規則可以根據自己需求重寫~~~~~~~~~~