如何在PHP中重复旋转图像而不增加其文件大小

时间:2012-10-14 09:07:41

标签: php image-processing rotation computer-vision php-gd

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

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

无论如何在php gd中旋转具有自由度的图像(例如:45度,75度,306度)而不添加任何背景图像或不增加文件图像?

编辑:我收到此错误:“致命错误:允许的内存大小为33554432字节耗尽”当图像大小变大且白色区域变宽时。这就是为什么我想知道旋转图像的任何其他方法。

谢谢。

2 个答案:

答案 0 :(得分:0)

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

示例:

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

答案 1 :(得分:0)

我打算用DCoder的相同答案写一些代码。

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

再见