КОНВЕРТ ГОЛОВКА В <img> - PullRequest
       9

КОНВЕРТ ГОЛОВКА В <img>

0 голосов
/ 25 января 2011

Я хотел бы показать изображение на этой странице, используя тег <img> вместо заголовка ( header ("content-type: image / jpeg"); ).есть идеи?

<?php  

$main_img       = "Porsche_911_996_Carrera_4S.jpg"; // main big photo / picture
$watermark_img  = "watermark.gif"; // use GIF or PNG, JPEG has no tranparency support
$padding        = 3; // distance to border in pixels for watermark image
$opacity        = 50;   // image opacity for transparent watermark

$watermark  = imagecreatefromgif($watermark_img); // create watermark
$image      = imagecreatefromjpeg($main_img); // create main graphic

if(!$image || !$watermark) die("Error: main image or watermark could not be loaded!");


$watermark_size     = getimagesize($watermark_img);
$watermark_width    = $watermark_size[0];  
$watermark_height   = $watermark_size[1];  

$image_size     = getimagesize($main_img);  
$dest_x         = $image_size[0] - $watermark_width - $padding;  
$dest_y         = $image_size[1] - $watermark_height - $padding;


// copy watermark on main image
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $opacity);


// print image to screen
header("content-type: image/jpeg");   
imagejpeg($image);  
imagedestroy($image);  
imagedestroy($watermark);
?>

Ответы [ 4 ]

4 голосов
/ 25 января 2011

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

<img src="image.php" /> <!-- (if image.php is the name of the script you posted) -->
3 голосов
/ 25 января 2011

есть идеи?

Не делай этого.Теоретически возможно встраивать изображения в HTML, используя data: URI , но у него слишком много недостатков, и обычно это плохая идея.Классический подход с использованием тега <img>, который ссылается на скрипт PHP, - это путь.

3 голосов
/ 25 января 2011
<img src="yourscript.php"/> 

или ваш скрипт выведет изображение в некоторый файл, а затем использует этот файл.

1 голос
/ 25 января 2011

вы работаете с ob_start() и ob_get_contents()


if($_GET['image'])
{
ob_start();
$main_img       = "a.jpg"; // main big photo / picture
$watermark_img  = "b.gif"; // use GIF or PNG, JPEG has no tranparency support
$padding        = 3; // distance to border in pixels for watermark image
$opacity        = 50;   // image opacity for transparent watermark

$watermark  = imagecreatefromgif($watermark_img); // create watermark
$image      = imagecreatefromjpeg($main_img); // create main graphic

if(!$image || !$watermark) die("Error: main image or watermark could not be loaded!");


$watermark_size     = getimagesize($watermark_img);
$watermark_width    = $watermark_size[0];  
$watermark_height   = $watermark_size[1];  

$image_size     = getimagesize($main_img);  
$dest_x         = $image_size[0] - $watermark_width - $padding;  
$dest_y         = $image_size[1] - $watermark_height - $padding;


// copy watermark on main image
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $opacity);


// print image to screen

header("content-type: image/jpeg");   
imagejpeg($image);  
imagedestroy($image);  
imagedestroy($watermark);
$s = ob_get_contents();
ob_clean();
 echo $s;
 }
 ?>
 [img src="echo '?image=1'?>"]

в конце вы можете в src image tage сделать это echo '?image=1'

...