У меня возникли проблемы с использованием imagewebp для преобразования изображения в webp.
Я использую этот код:
$filename = dirname(__FILE__) .'/example.jpg';
$im = imagecreatefromjpeg($filename);
$webp =imagewebp($im, str_replace('jpg', 'webp', $filename));
imagedestroy($im);
var_dump($webp);
$webp возвращает true, но когда я пытаюсь просмотреть webp-изображение в Chrome, оно просто отображается пустым, но с правильным размером. Если вместо этого я загружаю изображение и устанавливаю заголовки с помощью PHP (см. ниже), оно отображается, но с неправильными цветами (слишком много желтого).
$im = imagecreatefromwebp('example.webp');
header('Content-Type: image/webp');
imagewebp($im);
imagedestroy($im);
Если я конвертирую одно и то же изображение с помощью командной строки, оно работает, как и ожидалось.
cwebp -q 100 example.jpg -o example.webp
Я тестирую это на Ubuntu 14, Apache 2.4.7 и PHP 5.5.9-1ubuntu4.4.