在 PHP 中,可以使用 GD 庫來實現位圖的旋轉和縮放操作。GD 是一個用于動態圖形處理的 PHP 擴展庫,支持多種圖像格式,如 PNG、JPEG、GIF 等。
以下是一個簡單的示例,展示了如何使用 GD 庫實現位圖的旋轉和縮放操作:
<?php
// 加載原始圖像
$sourceImage = imagecreatefromjpeg('input.jpg');
// 獲取原始圖像的寬度和高度
$sourceWidth = imagesx($sourceImage);
$sourceHeight = imagesy($sourceImage);
// 計算縮放比例
$scale = 0.5; // 縮放為原始大小的 50%
$newWidth = $sourceWidth * $scale;
$newHeight = $sourceHeight * $scale;
// 創建一個新的空白畫布,用于存放縮放后的圖像
$scaledImage = imagecreatetruecolor($newWidth, $newHeight);
// 將原始圖像縮放到新的畫布上
imagecopyresampled($scaledImage, $sourceImage, 0, 0, 0, 0, $newWidth, $newHeight, $sourceWidth, $sourceHeight);
// 旋轉縮放后的圖像
$angle = 45; // 旋轉角度(順時針)
$rotatedImage = imagerotate($scaledImage, $angle, 0);
// 輸出旋轉后的圖像
header('Content-Type: image/jpeg');
imagejpeg($rotatedImage);
// 銷毀圖像資源
imagedestroy($sourceImage);
imagedestroy($scaledImage);
imagedestroy($rotatedImage);
?>
這個示例首先加載名為 input.jpg
的原始圖像,然后計算縮放后的寬度和高度。接著,創建一個新的空白畫布,并將原始圖像縮放到新的畫布上。最后,將縮放后的圖像旋轉指定角度(本例中為 45 度),并輸出旋轉后的圖像。
注意:在運行此示例之前,請確保已安裝并啟用了 GD 庫。