imagerotate每次都返回false

时间:2015-06-07 00:16:47

标签: php gd

我正在尝试使用php旋转图像。我似乎无法使'imagerotate'功能起作用。这是我的代码:

<?php
$degree = 45;

$img = imagecreatefromjpeg("mike.jpeg");

if($img == false){
echo 'imagecreatefromjpeg fail <br />';
}else{
echo 'imagecreatefromjpeg success <br />';
echo 'value $img: '.$img.'<br />'; //'Resource id #3' given.
}


$imgRotated = imagerotate($img, $degree, -1);// This is the problem!

if($imgRotated == false){
echo 'imgRotate fail <br />';
echo 'imgRotate value: '.$imgRotated.'<br />'; // '0' is returned every time
}else{
echo 'imgRotate success <br />';
}


 imagejpeg($imgRotated, 'mikeRotated.jpeg', 100); // ERROR: 'imagejpeg() expects parameter 1 to be resource, boolean given'
 ?>
 <img src="mike.jpeg"/>
 <img src="mikeRotated.jpeg"/>

这是我的gd_info():

GD版/捆绑(2.1.0兼容) FreeType支持/ 1 FreeType链接/具有freetype T1Lib支持/ 1 GIF阅读支持/ 1 GIF创建支持/ 1 JPEG支持/ 1 PNG支持/ 1 WBMP支持/ 1 XPM支持/ 1 XBM支持/ 1 JIS映射的日语字体支持/

2 个答案:

答案 0 :(得分:2)

面对这个问题。一对一。事实证明,发送 -1 (旋转jpg文件)的imagerotate batskground是不可能的。投入 0 ,工作。 由于颜色的选择,质量问题没有出现。

答案 1 :(得分:1)

我刚刚测试了您的代码,我发现的唯一问题是您编写了<img src="mikeRotated.jpg"/>,而不是mikeRotated.jpeg,这是您图片的名称。

请参阅下面的屏幕截图,使用您的确切代码(上述更改除外):

screenshot 1

不太清楚为什么您的代码无法正常工作。你能提供你正在使用的图像的链接吗?

编辑:也使用了您的图片。仍然不确定是什么错......你确定你已经在php.ini内包含了GD库吗? Refer to this link to check

screenshot 2