首頁  >  文章  >  後端開發  >  php 如何修改圖片像素大小

php 如何修改圖片像素大小

藏色散人
藏色散人原創
2020-11-04 09:11:233074瀏覽

php修改圖片像素大小的方法:先建立一個PHP範例檔案;然後根據後綴,由檔案或URL建立一個新圖象;接著取得目前待修改圖片的像素;最後重採樣拷貝部分影像並調整大小即可。

php 如何修改圖片像素大小

推薦:《PHP影片教學

PHP修改圖片像素大小

以下為修改圖片為指定像素方法及使用範例:

/**
 * @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);

腳本執行後,將修改後的圖片取代原有圖片,實作邏輯可依業務進行合理修改即可。

以上是php 如何修改圖片像素大小的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn