【问题标题】:How do we display a photo from Picasa java API?我们如何显示来自 Picasa java API 的照片?
【发布时间】:2012-03-06 21:24:37
【问题描述】:

好吧,这似乎是个愚蠢的问题,因为我们有this

但是,到目前为止,我只能通过以下方式成功显示缩略图:

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

我通过这种方法可以显示的最大照片是300像素左右[即photo.getMediaThumbnails().get(3)]。如何显示最大 400 像素甚至 800 像素的缩略图?或者我如何才能参考实际上可以帮助我显示这张照片的 google picasa 页面?

谢谢

【问题讨论】:

  • 好像只有少数人使用picasa api..lol..
  • 如何在您的应用中获取 picasa..

标签: java picasa


【解决方案1】:

很简单

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

您可以使用这种方式获取 400/800 像素的照片。

您只需更改给定的结果 URL。 更改 URL 的 s144/s400/s800 值

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

【讨论】:

    【解决方案2】:

    以下问题由google picasa api 社区成员回答:

    看看

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

    它解释了如何控制 图像的大小 media:content 链接也指向 至于你如何要求不同的 媒体的缩略图:缩略图 链接。还列出了有效尺寸 可用的值。但请注意, 您只能访问最大 800 像素的图像 在大小(宽度或高度,无论是 更大)来自网站。

    例如:

    获取 /feed/api/user//albumid/? 种类=照片&imgmax=800&thumbsize=512,400,160c

    会给你一个 800px 的链接 媒体版本:内容链接,a 链接到未裁剪的 512px 和 400px 前两个版本 media:thumbnail 元素和一个 正方形裁剪的 160x160 缩略图 第三个缩略图元素。

    干杯,Detlev

    【讨论】:

      【解决方案3】:

      如果您使用的是 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();
          }
      

      【讨论】:

      • returnedPhoto.getMediaContents().get(0).getUrl() 也为我上传的 png 提供了我想要的东西。这是我可以用于盗链、嵌入等的直接链接。
      • 唉,这似乎也限制在一个维度上大约 512 个像素。
      猜你喜欢
      • 2012-07-29
      • 1970-01-01
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-14
      • 2011-06-16
      相关资源
      最近更新 更多