2009-08-22 3 views
7

Хорошо, это, кажется, глупый вопрос, так как мы имеем thisКак мы можем отображать фотографию из API java Picasa?

Однако, до момента, я могу добиться успеха только при отображении миниатюр с помощью:

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

Самого большого фото я могу отображение через этот метод составляет до 300 пикселей или около того [это photo.getMediaThumbnails().get(3)]. Как я могу отобразить миниатюру до 400 пикселей или даже 800 пикселей? Или Как я могу вернуться на страницу google picasa, которая действительно может помочь мне отобразить эту фотографию?

Благодаря

+0

Кажется, что лишь немногие люди используют picasa api .. lol .. –

+0

как получить picasa в вашем приложении. – NagarjunaReddy

ответ

6

Следующая ответили членом сообщества в Google Picasa API:

Посмотрите на

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

Это объясняет, как вы можете контролировать размер изображения, которое : ссылка на контент указывает на , как вы можете r equest different thumbs для носителя: thumbnail ссылки. Также указаны допустимые значения . Обратите внимание, что вы можете просматривать только изображения размером до 800px (ширина или высота, что бы то ни было больше) с веб-сайтов.

Например:

ПОЛУЧИТЬ /подачи/API/пользователя // ALBUMID /? вида = фото & imgmax = 800 & thumbsize = 512,400,160c

даст вам ссылку на версию в СМИ 800px : содержание ссылки, а ссылки на некупированную и 400px 512 пикселей версии в первых двух media: элементы эскизов и квадрат с обрезанным 160x160 thumbnail в третий элемент эскиза.

Cheers, Детлеф

9

Довольно простой

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

Вы можете использовать этот способ, чтобы получить, что 400/800px фото.

Вам нужно изменить только URL-адрес результата. Изменение S144/S400/S800 значение из 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

Действительно помог мне .. спасибо! –

+0

Спасибо .. Это сработало –

5

Если вы используете Picasa Java API и нужно получить URL изображения после загрузки попробовать использовать следующий код

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

'returnPhoto.getMediaContents(). Get (0).getUrl() 'дал мне то, что я хотел для моих загруженных pngs тоже. Это прямая ссылка, которую я могу использовать для хотлинкинга, встраивания и т. Д. – KevinL

+0

Увы, это, по-видимому, ограничено примерно 512 пикселами по размеру. – KevinL

Смежные вопросы