GD不支持jpeg,任何其他转换jpeg图像的方法

时间:2012-03-24 21:29:50

标签: php facebook-graph-api heroku gd

您好我正在使用Facebook应用程序,需要检索用户显示图片并将其与其他图像合并,问题是我使用heroku不提供GD支持jpeg图像,因此我不能在图像格式为jpeg时进行处理。

  • 我需要建议以某种方式解决我的这个问题。
  • 是否有可能通过在其中包含一些库来包含对jpeg的支持 我的项目和我的代码中的引用。

这是我在输入图像是jpeg时得到的结果:

Warning: imagecreatefromstring(): Data is not in a recognized format in … Warning: imagegif() expects parameter 1 to be resource, boolean given in…

$dpImageGif = 'temp/'. $userId '.gif';
        $url = file_get_contents("http://graph.facebook.com/{$userId}/picture?type=large");
$dpImage = 'temp/' . $userId ;
$imageObject = imagecreatefromstring($url);
//$imageObject = imagecreatefromjpeg($dpImage);
imagegif($imageObject, $dpImageGif);

gd_info():

array(11) {
  ["GD Version"]=>
  string(27) "bundled (2.0.34 compatible)"
  ["FreeType Support"]=>
  bool(false)
  ["T1Lib Support"]=>
  bool(false)
  ["GIF Read Support"]=>
  bool(true)
  ["GIF Create Support"]=>
  bool(true)
  ["JPEG Support"]=>
  bool(false)
  ["PNG Support"]=>
  bool(true)
  ["WBMP Support"]=>
  bool(true)
  ["XPM Support"]=>
  bool(false)
  ["XBM Support"]=>
  bool(true)
  ["JIS-mapped Japanese Font Support"]=>
  bool(false)
}

2 个答案:

答案 0 :(得分:2)

显然Heroku确实支持PHP上的ImageMagick,你可以使用它代替GD进行JPEG图像处理。对现有应用程序不是很有用,但如果你从头开始,它应该不是问题。

答案 1 :(得分:0)

我编译了自己的imagick.so作为解决方法,请参阅我的回复@stackoverflow here。让我知道它是否有效(我尝试过的基本功能)。