最近升級Xoops布景架構,吧js播放器圖片由本的jpg轉為png,除了在創建圖檔及讀出圖檔的地方需要更改,也需要吧原本已經建立的jpg檔全部批次改為png,這樣user更新完布景才不會播放器圖片都顯示X,關於jpge轉png的方法上網G狗了一下,找到一個不錯且好用的function分享給大家
jpge轉png的function code
//jpge轉png functionfunction jpgtopngfunction($input_file="",$output_file=""){
//$input_file; 原始JPG檔路徑+檔名
//$output_file; 轉成PNG檔路徑+檔名
//檔案存在才執行
if(file_exists($input_file)) {
$input = imagecreatefromjpeg($input_file);
$width = imagesx($input);
$height = imagesy($input);
$output = imagecreatetruecolor($width, $height);
$white = imagecolorallocate($output, 255, 255, 255);
imagefilledrectangle($output, 0, 0, $width, $height, $white);
imagecopy($output, $input, 0, 0, 0, 0, $width, $height);
imagepng($output, $output_file);
//刪除原始jpg檔
unlink($input_file);
}
}
在需要轉換的地方引用jpgtopngfunction()函數
例
jpgtopngfunction($input_file="img.jpg",$output_file="img.png");
這樣就會吧img.jpg複製一份為img.png後,再刪除原始的img.jpg,可以搭配foreach迴圈使用做批次修改,有需要的朋友參考看看
工作心得撰寫:徐嘉裕 Neil hsu
留言
張貼留言