我正在使用imagerotate()函数将下面的图像转换为30度角。
http://postimage.org/image/b7w6dacel/
问题是每当我旋转图像并将其保存到新路径时,在新路径中图像会旋转,但它周围会有黑色,如下所示。
http://postimage.org/image/n3n1vtr9p/8501961e/
原始图像为450 * 340,旋转后,图像变为560 * 520.有谁知道我做错了什么。看看下面的源代码。感谢。
$filename = "static\\". $sessionid . "-1.jpg";
$file= $sessionid . "-1.jpg";
$ir = imagecreatefromjpeg($filename);
$degrees = 30;
$flip=imagerotate($ir, $degrees, 0);
$rotated=imagejpeg($flip, 'c:\\xampp\\htdocs\\'. $file);
答案 0 :(得分:1)
根据您旋转的程度,新图像将大于原始图像。您将需要缩放或裁剪新图像。此代码会将$oldImage
扩展为$newWidth
和$newHeigth
。
$newImage = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($newImage, $oldImage, 0, 0, 0, 0, $newWidth, $newHeight, imagesx($oldImage), imagesy($oldImage));
希望这有帮助。