2009-08-22 13 views
7

bien, parece ser una pregunta estúpida, ya que tenemos this¿Cómo mostramos una foto de la API de Java de Picasa?

Sin embargo, hasta el momento, sólo puedo tener éxito en la visualización de las imágenes en miniatura mediante el uso de:

PhotoEntry photo = //somehow I get the instance 
photo.getMediaThumbnails().get(0).getUrl() 

El mayor foto que puede la pantalla a través de este método es de hasta 300 píxeles más o menos [que es photo.getMediaThumbnails().get(3)]. ¿Cómo puedo mostrar una miniatura de hasta 400 píxeles o incluso 800 píxeles? O ¿Cómo puedo volver a consultar la página de google picasa que realmente me puede ayudar a mostrar esta foto?

Gracias

+0

Parece que sólo unos pocos la gente usa picasa api .. lol .. –

+0

cómo conseguir picasa en tu aplicación ... – NagarjunaReddy

Respuesta

6

Lo siguiente fue contestada por un miembro de la comunidad de Google Picasa api:

Tome un vistazo a

http://code.google.com/apis/picasaweb/docs/2.0/reference.html#Parameters

En él se explica cómo se puede controlar el tamaño de la imagen que el media: contenido señala también como cómo se puede equest diferentes tamaños de pulgar para los medios: miniatura enlaces. También se enumeran los valores válidos de tamaño disponibles. Sin embargo, tenga en cuenta que solo puede acceder a imágenes de hasta 800px en tamaño (ancho o alto, lo que sea más grande) de los sitios web.

Por ejemplo:

GET /alimentación/api/usuario // ALBUMID /? tipo = foto & imgmax = 800 & thumbsize = 512,400,160c

le dará un enlace a una versión 800px en los medios: vínculo de contenido, un enlace a la versión sin recortar 512px y 400px en los dos primeros media: elementos en miniatura y una miniatura de 160x160 recortada en cuadrados en el tercer elemento de miniaturas.

Cheers, Detlev

9

bastante simple

PhotoEntry photo = //somehow I get the instance 
    photo.getMediaThumbnails().get(0).getUrl() 

Se puede utilizar esta manera de conseguir que 400/800px foto.

Solo tiene que cambiar la URL de resultado que se proporciona. Cambiar el/s400/s800 valor S144 de la URL

BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s72/DSC09176.JPG 
BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s144/DSC09176.JPG 
BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s288/DSC09176.JPG 
BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s400/DSC09176.JPG 
BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s800/DSC09176.JPG 
+0

Realmente me ayudó ... gracias! –

+0

Gracias .. Funcionó –

5

Si está utilizando la API de Picasa Java y necesita obtener URL de la imagen después de subir intenta utilizar siguiente código

try { 
     File photoFile = new File(getFileName()); 
     service = new PicasawebService(applicationName); 
     MediaFileSource photoMedia = new MediaFileSource(photoFile, "image/jpg"); 
     URL albumPostUrl = new URL(String.format("http://picasaweb.google.com/data/feed/api/user/%1$s/albumid/%2$s", getUserName(), getAlbumId())); 
     PhotoEntry returnedPhoto = service.insert(albumPostUrl, PhotoEntry.class, photoMedia); 

     String href = returnedPhoto.getHtmlLink().getHref(); 

     if (returnedPhoto.getMediaContents().size() > 0) { 
      // !!!!!!!!!!!!!!!This is exactly JPEG URL 
      href = returnedPhoto.getMediaContents().get(0).getUrl(); 
     } 
     logger.info(String.format("Image published: <%s>", href)); 
     return href; 
    } catch (AuthenticationException e) { 
     logger.error(e.getMessage(), e); 
     e.printStackTrace(); 
    } catch (MalformedURLException e) { 
     logger.error(e.getMessage(), e); 
     e.printStackTrace(); 
    } catch (IOException e) { 
     logger.error(e.getMessage(), e); 
     e.printStackTrace(); 
    } catch (ServiceException e) { 
     logger.error(e.getMessage(), e); 
     e.printStackTrace(); 
    } 
+0

'returnedPhoto.getMediaContents(). Get (0).getUrl() 'me dio lo que quería para mi png cargado también. Es el enlace directo que puedo usar para hotlinking, incrustación, etc. – KevinL

+0

Por desgracia, esto parece estar limitado a aproximadamente 512 píxeles en una dimensión también. – KevinL

Cuestiones relacionadas