要在PHP中支持WebP圖像格式,您需要確保已安裝了GD庫(一個用于處理圖像的PHP擴展)或Imagick庫(一個用于處理圖像的強大的PHP擴展)。
以下是使用GD庫和Imagick庫將JPEG/PNG圖像轉換為WebP格式的方法:
首先,確保已經安裝并啟用了GD庫。可以通過運行phpinfo()
函數來檢查GD庫是否已啟用。
function convertImageToWebP($source, $destination, $quality) {
// 獲取圖像的類型
$imageType = exif_imagetype($source);
// 根據圖像類型創建圖像資源
switch ($imageType) {
case IMAGETYPE_JPEG:
$image = imagecreatefromjpeg($source);
break;
case IMAGETYPE_PNG:
$image = imagecreatefrompng($source);
break;
default:
return false;
}
// 設置WebP圖像質量
$quality = (int) $quality;
if ($quality < 0 || $quality > 100) {
$quality = 80;
}
// 將圖像保存為WebP格式
imagewebp($image, $destination, $quality);
// 銷毀圖像資源
imagedestroy($image);
return true;
}
$source = 'path/to/your/image.jpg'; // 輸入圖像路徑
$destination = 'path/to/your/output.webp'; // 輸出WebP圖像路徑
$quality = 80; // WebP圖像質量(0-100)
convertImageToWebP($source, $destination, $quality);
首先,確保已經安裝并啟用了Imagick庫。可以通過運行phpinfo()
函數來檢查Imagick庫是否已啟用。
function convertImageToWebP($source, $destination, $quality) {
try {
// 創建Imagick對象
$image = new Imagick($source);
// 設置WebP圖像質量
$quality = (int) $quality;
if ($quality < 0 || $quality > 100) {
$quality = 80;
}
// 將圖像轉換為WebP格式
$image->setImageFormat('WEBP');
$image->setImageCompressionQuality($quality);
$image->writeImage($destination);
// 銷毀Imagick對象
$image->destroy();
return true;
} catch (Exception $e) {
return false;
}
}
$source = 'path/to/your/image.jpg'; // 輸入圖像路徑
$destination = 'path/to/your/output.webp'; // 輸出WebP圖像路徑
$quality = 80; // WebP圖像質量(0-100)
convertImageToWebP($source, $destination, $quality);
這兩種方法都可以將JPEG/PNG圖像轉換為WebP格式。您可以根據自己的需求選擇使用哪種方法。