PHP imagejpeg - конвертировать вывод в base64
Я создаю простой текст на изображении, как это...
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Set the content type header - in this case image/jpeg
header('Content-Type: image/jpeg');
// Output the image
imagejpeg($im);
// Free up memory
imagedestroy($im);
Мне нужен вывод в виде строки base64, я пробовал base64_encode($im), но он не работает правильно для меня.
У кого-нибудь есть пример, который я вижу?
1 ответ
Решение
Попробуйте использовать ob_get_clean
функция, чтобы получить изображение из выходного буфера и затем кодировать его в base64:
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
ob_start();
// Output the image
imagejpeg($im);
$img = ob_get_clean();
ob_end_clean();
// Free up memory
imagedestroy($im);
echo base64_encode($img);