在 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 库。