J'ai une variable d'image,
$im = imagecreatetruecolor(400, 300);
3 Réponses :
ob_start(); imagejpeg($im); $imageString = ob_get_clean();
comme fonction et ajout ImageDestroy () code>. function imagejpeg_tostring($im,$quality=75) {
ob_start(); //Stdout --> buffer
imagejpeg($im,NULL,$quality); // output ...
$imgString = ob_get_contents(); //store stdout in $imgString
ob_end_clean(); //clear buffer
imagedestroy($im); //destroy img
return $imgString;
}
Oui, c'est possible (même sans tampon de sortie). Il est sans papiers qu'il semble que cela semble, mais vous pouvez transmettre une ressource de flux au lieu d'un nom de fichier.
<?php
$stream = fopen("php://memory", "w+");
$i = imagecreatetruecolor(200, 200);
imagepng($i, $stream);
rewind($stream);
$png = stream_get_contents($stream);
Belle solution! Beaucoup plus propre que de rediriger toute la sortie du script. Devrait être la réponse acceptée.