php圖片壓縮成指定大小如何實(shí)現(xiàn)

PHP
小億
149
2024-03-19 09:53:40

在PHP中,可以使用GD庫(kù)來(lái)對(duì)圖片進(jìn)行壓縮處理。以下是一個(gè)簡(jiǎn)單的示例代碼,用于將圖片壓縮成指定大?。?/p>

// 設(shè)置要壓縮的圖片路徑
$originalImage = 'original.jpg';
$compressedImage = 'compressed.jpg';

// 設(shè)置目標(biāo)寬度和高度
$targetWidth = 800;
$targetHeight = 600;

// 獲取原始圖片的信息
list($originalWidth, $originalHeight) = getimagesize($originalImage);

// 創(chuàng)建一個(gè)空白的圖片對(duì)象
$compressed = imagecreatetruecolor($targetWidth, $targetHeight);

// 打開(kāi)原始圖片
$original = imagecreatefromjpeg($originalImage);

// 將原始圖片復(fù)制到壓縮圖片中并進(jìn)行縮放
imagecopyresampled($compressed, $original, 0, 0, 0, 0, $targetWidth, $targetHeight, $originalWidth, $originalHeight);

// 保存壓縮后的圖片
imagejpeg($compressed, $compressedImage);

// 釋放內(nèi)存
imagedestroy($original);
imagedestroy($compressed);

echo '圖片壓縮完成!';

在上面的示例中,首先設(shè)置了原始圖片和壓縮后圖片的路徑,以及目標(biāo)的寬度和高度。然后通過(guò)getimagesize函數(shù)獲取原始圖片的寬度和高度,創(chuàng)建一個(gè)空白的圖片對(duì)象,并打開(kāi)原始圖片。接著使用imagecopyresampled函數(shù)將原始圖片復(fù)制到壓縮圖片中并進(jìn)行縮放,最后保存壓縮后的圖片并釋放內(nèi)存。

請(qǐng)注意,這只是一個(gè)簡(jiǎn)單的示例代碼,根據(jù)實(shí)際需求可能需要進(jìn)行更多的參數(shù)設(shè)置和邏輯處理。

0