如何在不增加文件大小的情况下在PHP中重复旋转图像

我目前使用php GD中的imagerotate()来让用户旋转图像。 每当用户像45度,75度等旋转时,添加背景色使图像具有矩形形状。 用户旋转的次数越多,图像尺寸越大,背景颜色区域越宽。

$image = imagerotate($image,45, 0xFFFFFF);

无论如何,在无需添加任何背景图像或没有增加文件图像的情况下,可以使用自由程度(例如:45度,75度,306度)旋转图像。

编辑:当图像尺寸越来越大,白色区域变得越来越宽时,出现此错误:“致命错误:允许的内存大小33554432字节已耗尽”。 这就是为什么我想知道任何其他方式来旋转图像。

谢谢。


尝试将背景设置为黑色,即0,并使用JPEG ,这是一种压缩图像格式。 这可以帮助 - 虽然我没有测试过自己。 尝试一下。

例:

$image = imagerotate($image, 45, 0x000000);

我正准备在这里写一些代码,与DCoder的答案相同。

这是您可以应用的最佳流程,因为它只需要一次转换。

再见

链接地址: http://www.djcxy.com/p/61143.html

上一篇: How to rotate image repetitively in php without increasing its file size

下一篇: PHP save image file