2012-07-04 4 views
2

Я создаю изображение с внешней функцией.Просмотреть изображение, созданное imagejpeg

Функция, которая возвращает исходные данные изображения:

function create_image() 
{ 
    ... 
    ImageJPEG($myimg,NULL,85); 
    $imgdata = ob_get_contents(); 
    ob_end_clean();   
    return $imgdata; 
} 

Мой сценарий, который должен показать, как выглядит изображение, как:

$rawdata = create_image(); 
<img src="data:image/jpeg;base64,".base64_encode($rawdata)."" /> 

Теперь изображение не является полным в <img> теге , Если я сделаю качество 50 (с ImageJPEG($myimg,NULL,50);), изображение будет отображено полностью. Если я поймаю rawdata и напишу его на диск, изображение будет полным в каждом качестве.

$rawdata = create_image(); 
$im = imagecreatefromstring($rawdata); 
ImageJPEG($im,"./test.jpg",90); 

Только в теге <img> он не работает.

У кого-нибудь есть идея, почему он не работает?

+0

Как вы выводите изображение в «img-tag»? Как URL-адрес данных? – deceze

+0

Нет, я отправляю rawdata в img-теге, как показано выше. – user1121575

+0

Ну ... это * * URL-адрес данных. :) – deceze

ответ

0

Я лично никогда не использовал эту технику, я обычно использую простой образ с изображением image.jpg.php (например) в качестве изображения. Для этого я помещаю header("Content-type: image/jpeg") в файл изображения и просто эхо-данные.

Я действительно никогда не пробовал его с необработанными данными, но я считаю, что это было бы предпочтительным, особенно для обслуживания (и совместимости).

Смежные вопросы