溫馨提示×

PHP實(shí)現(xiàn)位圖的旋轉(zhuǎn)和縮放操作

PHP
小樊
84
2024-08-28 05:57:16
欄目: 編程語言

在 PHP 中,可以使用 GD 庫來實(shí)現(xiàn)位圖的旋轉(zhuǎn)和縮放操作。GD 是一個用于動態(tài)圖形處理的 PHP 擴(kuò)展庫,支持多種圖像格式,如 PNG、JPEG、GIF 等。

以下是一個簡單的示例,展示了如何使用 GD 庫實(shí)現(xiàn)位圖的旋轉(zhuǎn)和縮放操作:

<?php
// 加載原始圖像
$sourceImage = imagecreatefromjpeg('input.jpg');

// 獲取原始圖像的寬度和高度
$sourceWidth = imagesx($sourceImage);
$sourceHeight = imagesy($sourceImage);

// 計(jì)算縮放比例
$scale = 0.5; // 縮放為原始大小的 50%
$newWidth = $sourceWidth * $scale;
$newHeight = $sourceHeight * $scale;

// 創(chuàng)建一個新的空白畫布,用于存放縮放后的圖像
$scaledImage = imagecreatetruecolor($newWidth, $newHeight);

// 將原始圖像縮放到新的畫布上
imagecopyresampled($scaledImage, $sourceImage, 0, 0, 0, 0, $newWidth, $newHeight, $sourceWidth, $sourceHeight);

// 旋轉(zhuǎn)縮放后的圖像
$angle = 45; // 旋轉(zhuǎn)角度(順時針)
$rotatedImage = imagerotate($scaledImage, $angle, 0);

// 輸出旋轉(zhuǎn)后的圖像
header('Content-Type: image/jpeg');
imagejpeg($rotatedImage);

// 銷毀圖像資源
imagedestroy($sourceImage);
imagedestroy($scaledImage);
imagedestroy($rotatedImage);
?>

這個示例首先加載名為 input.jpg 的原始圖像,然后計(jì)算縮放后的寬度和高度。接著,創(chuàng)建一個新的空白畫布,并將原始圖像縮放到新的畫布上。最后,將縮放后的圖像旋轉(zhuǎn)指定角度(本例中為 45 度),并輸出旋轉(zhuǎn)后的圖像。

注意:在運(yùn)行此示例之前,請確保已安裝并啟用了 GD 庫。

0