Преобразование изображения в строку (для Symfony2 Response)

Я создаю скрипт для изменения размера изображения в Symfony2.

Поскольку я хотел бы иметь возможность использовать стандартную систему ответа Symfony2 …

$headers = array('Content-Type' => 'image/png', 'Content-Disposition' => 'inline; filename="image.png"'); return new Response($img, 200, $headers); // $img comes from imagecreatetruecolor() 

… Мне нужна строка для отправки в качестве ответа. К сожалению, такие функции, как imagepng , только записывают файлы или выводят непосредственно в браузер, а не возвращают строки.

До сих пор единственными решениями, о которых я мог думать, являются

1] сохраните изображение во временном месте, а затем прочитайте его снова

 imagepng($img, $path); return new Response(file_get_contents($path), 200, $headers); 

2] использовать буферизацию вывода

 ob_start(); imagepng($img); $str = ob_get_contents(); ob_end_clean(); return new Response($str, 200, $headers); 

Есть ли способ лучше?

Буферизация вывода, вероятно, является лучшим решением.

Кстати, вы можете назвать одну меньшую функцию:

 ob_start(); imagepng($img); $str = ob_get_clean();