Изображение в браузер без сохранения


Как я могу поместить изображение из памяти в браузер без сохранения.

Например:

 function getImage()
 {

   $imageFile = imagecreatefromjpeg('Map.jpg');
   $imageObject = imagecreatefrompng('image2.png');
   imagealphablending($imageFile, true);    
   imagecopy(....);
   $ret = array($imageFile, $imageObject) ;  
   return $ret
 }
 <?php $ret = getImage(); ?>
 <img src = <?php $ret[0];? alt=''>

Возможно ли это без сохранения?

Author: OHLÁLÁ, 2011-02-28

3 answers

Да,

Просто попробуй imagejpeg($img);

И введите в <img src= путь к PHP-скрипту, который отображает изображение

Смотрите пример по адресу: http://php.net/manual/en/function.imagecreatefromjpeg.php

 4
Author: Adam Lukaszczyk, 2011-02-28 10:44:08

Возможно, если бы вы закодировали свое изображение в base64 и использовали его таким образом, это сработало бы:

 <?php
    $img_str = base64_encode($imgbinary);
    echo '<img src="data:image/jpg;base64,'.$img_str.'" />';
    ?>

HTML:

<img src="data:image/jpg;base64,R0lGODlhCgAKAJEAAAAAAP///81Wv81WvyH5BAEAAAMALAAAAAAKAAoAAAIUjIViq+x7QpunwXoZ lXFu/mjIUgAAOw==" alt="image" />

Я сделал вывод, что вы хотите сделать это в одном запросе.

 3
Author: mailo, 2011-02-28 11:17:03

У вас должен быть скрипт, который отправляет правильные заголовки, а затем браузер должен распознавать его как изображение. Что-то вроде:

<?php
ob_start();
// assuming you have image data in $imagedata
$length = strlen($imagedata);
header('Last-Modified: '.date('r'));
header('Accept-Ranges: bytes');
header('Content-Length: '.$length);
header('Content-Type: image/jpeg');
print($imagedata);
ob_end_flush();

?>

 2
Author: Jan Zyka, 2011-02-28 10:41:34