Comunidad de diseño web y desarrollo en internet online

Convertir bytes de foto en imagen

Citar            
MensajeEscrito el 11 Feb 2011 03:57 pm
Hola comunidad... yendo al grano, tengo el siguiente problema. Resulta que estoy haciendo una aplicación utilizando la API de Google Contacts. Todo marcha sobre ruedas... pero resulta que a la hora de obtener la foto del contacto... no se como convertir la cadena de bytes que me devuelve el servidor en una imagen para mostrarla :(
Aki les dejo el link donde pueden encontrar la documentacion de la API. Si alguien puediera decirme que funciones de PHP debo combinar para que se me muestre la imagen se lo agradecería.

Obtener Foto de contacto - API de Google

Gracias de antemano y un saludo
P.

Por pmolina88

74 de clabLevel



Genero:Masculino  

Ingeniero en Sistemas

firefox
Citar            
MensajeEscrito el 11 Feb 2011 07:55 pm
Hola a todos camaradas :cool: ... ya resolví como obtener la imagen... y a continuación les muestro el código. :lol:

Código PHP :

$response = curl_multi_getcontent($curl);
curl_close($curl);

$img = imagecreatefromstring($response);
header('Content-Type: image/png');
imagepng($img);
imagedestroy($img);


En el código anterior se hace una petición a través del cURL a la imagen del contacto de google y se obtiene la cadena de bytes la cual es convertida a imagen y mostrada en el navegador... pero lo que necesito ahora es que esa imagen me la muestre en una página html en una etiqueta <img />

Sigo investigando... en caso de que alguien conozca la respuesta o me pueda ayudar se lo agradecería.

Saludos
P. :D

Por pmolina88

74 de clabLevel



Genero:Masculino  

Ingeniero en Sistemas

firefox
Citar            
MensajeEscrito el 12 Feb 2011 03:33 pm
Bueno comunidad... ya resolví el problema. La solución fue la siguiente.
1. Creé un fichero php en el cual puse el siguiente código

Código PHP :

<?php
include_once 'file_manager.php';

$file = File_Manager::getInstance ();

$urlPhoto = $_GET['url'];

$curl = curl_init ( $urlPhoto );
curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $curl, CURLOPT_FAILONERROR, true );
curl_setopt ( $curl, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt ( $curl, CURLOPT_HTTPHEADER, array ("Authorization: GoogleLogin auth=" . $file->getToken () ) );

if (curl_exec ( $curl ) === false) {
   echo 'Curl error: ' . curl_error ( $curl );
   die ();
}

$response = curl_multi_getcontent ( $curl );
curl_close ( $curl );

$img = imagecreatefromstring ( $response );
header ( 'Content-Type: image/png' );
imagepng ( $img );
imagedestroy ( $img );

Eso hace que se me muestre la imagen del contacto de gmail en esa página como si fuera una foto png.

Por lo tanto para visualizar esa foto dentro de una etiqueta <img /> lo único que hago es que en el atributo src de la etiqueta pongo la dirección de la página y por GET envío la url de la foto del contacto.

Eso es todo amigos... espero que se hay más personas interesadas les pueda ser de ayuda.
Saludos
P. :cool:

Por pmolina88

74 de clabLevel



Genero:Masculino  

Ingeniero en Sistemas

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.