【问题标题】:imagerotate returns false every timeimagerotate 每次都返回 false
【发布时间】:2015-08-21 17:15:29
【问题描述】:

我正在尝试使用 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 映射的日文字体支持 /

【问题讨论】:

  • 你遇到了什么问题?
  • 底线是我无法旋转图像。所以上面的代码试图找出问题所在。所以我得到的错误是上面代码中引用的(见错误消息)
  • 我只是在测试你的代码——应该能在一两分钟内给你答案:D
  • 减一是作为第三个参数的有效值吗?在我看来,它仅作为 PNG 文件中的透明度信息有效。

标签: php gd


【解决方案1】:

我刚刚测试了你的代码,我发现唯一的问题是你写了&lt;img src="mikeRotated.jpg"/&gt;,而不是mikeRotated.jpeg,这是你的图片名称。

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

不太清楚为什么您的代码不起作用。您能否提供您正在使用的图片的链接?

编辑:也使用了您的图像。仍然不确定出了什么问题...您确定您已将 GD 库包含在 php.ini 中吗? Refer to this link to check

【讨论】:

  • 我已经进行了您指出的编辑,但我的代码仍然无法正常工作。至于图片的链接,我试过很多图片都没有成功。我正在使用的当前一个:encrypted-tbn3.gstatic.com/…
  • @dave 仍然不确定您那边出了什么问题 - GD 下的其他图像操作对您有用吗?
  • 'imagecreatefromjpeg' 似乎有效。这是基于这样的假设,即当函数成功时我得到的返回是正确的(请参见上文)。我才刚刚开始尝试使用 gd 库。请参阅上面的 gd_info() 编辑。
  • @dave 你能试试我在回答中链接的脚本吗?
  • 我尝试了链接中的脚本,并且 gd 似乎已安装。我已经详细说明了上面的 gd_info()。
【解决方案2】:

面临这个问题。都是一对一的。事实证明,无法发送 -1 的 imagerotate batskground(旋转 jpg-file)。放到0,工作。 没有看到因为颜色选择而出现的质量问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 2022-12-14
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多