JPEG не поддерживается GD, любой другой способ конвертировать изображения JPEG - PullRequest
1 голос
/ 25 марта 2012

Здравствуйте, я работаю над приложением 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 ]

2 голосов
/ 26 мая 2012

Очевидно, Heroku поддерживает ImageMagick на PHP, который вы можете использовать вместо GD для обработки изображений JPEG.Не очень полезно для существующих приложений, но если вы начинаете с нуля, это не должно быть проблемой.

0 голосов
/ 23 июня 2012

Я собрал свой собственный imagick.so в качестве обходного пути, см. Мой ответ @stackoverflow здесь . Дайте мне знать, если это работает (основные функции, которые я пробовал, работает).

...