Estoy construyendo un script para cambiar el tamaño de la imagen en Symfony2.Convertir imagen a cadena (para respuesta Symfony2)
Como me gustaría ser capaz de utilizar el sistema de respuesta estándar de Symfony2 ...
$headers = array('Content-Type' => 'image/png',
'Content-Disposition' => 'inline; filename="image.png"');
return new Response($img, 200, $headers); // $img comes from imagecreatetruecolor()
... necesito una cadena para enviar como respuesta. Desafortunadamente, las funciones como imagepng
solo escriben archivos o salen directamente al navegador, no devuelven cadenas.
Hasta ahora, las únicas soluciones que era capaz de pensar son
1] guardar la imagen en una ubicación temporal y luego leerlo de nuevo
imagepng($img, $path);
return new Response(file_get_contents($path), 200, $headers);
2] usar búferes de salida
ob_start();
imagepng($img);
$str = ob_get_contents();
ob_end_clean();
return new Response($str, 200, $headers);
¿Hay una manera mejor?
recomiendo el uso de [ImagineBundle] (https://github.com/avalanche123/AvalancheImagineBundle). En mi opinión, es un paquete realmente bueno para cualquier tipo de manipulación de imágenes. Aunque viene con un solo filtro (creación de miniaturas), puede escribir sus propios paquetes. Solo pensé en compartir mi hallazgo :) – gilden
@gilden, voy a echarle un vistazo, ¡gracias! – Czechnology