好吧,这似乎是一个愚蠢的问题,因为我们有这个
但是,到目前为止,我只能通过使用以下方式成功显示缩略图:
PhotoEntry photo = //somehow I get the instance
photo.getMediaThumbnails().get(0).getUrl()
Run Code Online (Sandbox Code Playgroud)
我可以通过这种方法显示的最大照片最多可达300像素[也就是photo.getMediaThumbnails().get(3)].如何显示最大400像素甚至800像素的缩略图?或者,我怎样才能回到可以帮助我显示这张照片的谷歌picasa页面?
谢谢
非常简单
PhotoEntry photo = //somehow I get the instance
photo.getMediaThumbnails().get(0).getUrl()
Run Code Online (Sandbox Code Playgroud)
您可以使用这种方式获取400/800px照片.
您只需更改给定的结果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
Run Code Online (Sandbox Code Playgroud)
以下是由谷歌picasa api的社区成员回答:
看一眼
http://code.google.com/apis/picasaweb/docs/2.0/reference.html#Parameters
它解释了如何控制媒体:内容链接指向的图像大小,以及如何为媒体请求不同的缩略图:缩略图链接.还列出了可用的有效大小值.但请注意,您只能从网站访问最大尺寸为800像素(宽度或高度,无论大小)的图像.
例如:
GET/feed/api/user // albumid /?KIND =照片和imgmax = 800&thumbsize = 512,400,160c
将为您提供媒体中800px版本的链接:内容链接,前两个媒体中未剪切的512px和400px版本的链接:缩略图元素和第三个缩略图元素中的方形裁剪的160x160缩略图.
干杯,Detlev
如果您使用的是Picasa Java API,并且需要在上传后获取图片网址,请尝试使用以下代码
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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7987 次 |
| 最近记录: |