php imagick - szöveg képre megjelenítése

Üdv!

A php imagick manualja alapján teszt jelleggel egy képre szöveget már tudok tenni:
http://php.net/manual/en/imagick.annotateimage.php
http://php.net/manual/en/imagick.addimage.php


<?php
// ...
$src_img = new Imagick("image.jpg");
$icon = new Imagick();
$icon->setFormat("ico");

$draw = new ImagickDraw();
$draw->setFillColor('black');

$geo=$src_img->getImageGeometry();

$size_w=$geo['width'];
$size_h=$geo['height'];

if (128/$size_w*$size_h>128) {
$src_img->scaleImage(128,0);
} else {
$src_img->scaleImage(0,128);
}

$src_img->cropImage(128, 128, 0, 0);

$clone = $src_img->clone();
$clone->scaleImage(16,0);
$icon->addImage($clone);

$clone = $src_img->clone();
$clone->scaleImage(32,0);
$icon->addImage($clone);

$clone = $src_img->clone();
$clone->scaleImage(64,0);
$icon->addImage($clone);

$clone = $src_img->clone();
$clone->scaleImage(128,0);
$icon->addImage($clone);

$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );
// Create text
$icon->annotateImage($draw, 10, 45, 0, 'Demo text');

$icon->writeImages("image.ico", true);

$src_img->destroy();
$icon->destroy();
$clone->destroy();

//...
?>

Az új képet csak úgy tudom megjelníteni egy html oldalban, hogy előtte el kell mentenem? (ahogy a fenti példában: writeImages(...))
Vagy meg lehet valahogy oldani, hogy az átalakított kép mentés nélkül megjeleníthető legyen? ("on the fly")

Hozzászólások


header('Content-Type: image/'.$icon->getImageFormat());
echo $icon;

vagy, ha közvetlenül a kódból akarod akkor valami hasonló:


echo '<img src="data:image/'.$icon->getImageFormat().';base64,'.base64_encode($icon->getImageBlob()).'" alt="" />';`

A header('Content-Type: image/...') csak a képre vonatkozik. Ne akard a html kóddal együtt kiküldeni!

<img src="kep.php?sid=xxx">

, aztán a kep.php küldi image header-el a dinamikusan generált képet - amit szükség esetén a session id köt össze a html-el (ha az adott html oldallal összefüggő adatot akarsz a képre írni)

-------------------------------^v-----------------------------------
"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"