以下爲修改圖片爲指定像素方法及使用示例:
/**
* @Desc:
* @DateTime: xxx
* @param $filename 文件名(所在路徑)
* @param $xmax 修改後最大寬度
* @param $ymax 修改後最大高度
* @param $ext 文件後綴
* @return resource
*/
function resize_image($filename, $newx, $newy, $ext)
{
//根據後綴,由文件或 URL 創建一個新圖象(內置函數)
if($ext == "jpg" || $ext == "jpeg")
$im = imagecreatefromjpeg($filename);
elseif($ext == "png")
$im = imagecreatefrompng($filename);
elseif($ext == "gif")
$im = imagecreatefromgif($filename);
//獲取當前待修改圖片像素(內置函數)
$x = imagesx($im);
$y = imagesy($im);
//新建一個真彩色圖像(內置函數)
$im2 = imagecreatetruecolor($newx, $newy);
//重採樣拷貝部分圖像並調整大小(內置函數)
imagecopyresampled($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y);
return $im2;
}
//使用示例:
$tmp = './img/test.jpg';//圖片文件所在路徑,相對路徑和絕對路徑都行
$fileinfo = pathinfo($tmp);
$ext = $fileinfo['extension'];
$image = resize_image($tmp, 1242, 2208, $ext);
if($ext == "jpg" || $ext == "jpeg")
imagejpeg($image, $tmp);
elseif($ext == "png")
imagepng($image, $tmp);
elseif($ext == "gif")
imagegif($image, $tmp);
腳本執行後,將修改後的圖片替換原有圖片,實現邏輯可根據業務進行合理修改即可。