<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>外部取picasa网络相册</title>
<script>
var XMLHttpReq;
var albums = []; //所有的相册
var userName = ""; //picasa用户名
var img_small = 144; //缩略图尺寸,其他的有效尺寸: 32, 48, 64, 72, 144, 160;
var img_max = 1024; //每张图片的尺寸,其他的有效尺寸: 200, 288, 320, 400, 512, 576, 640, 720, 800
var max_results = 20; //一页显示的相片个数
var navigae_page = 1; //url参数表示当前从第几个查询
var current_page = ""; //当前页
/**
* 创建AJAX请求
* @return 请求对象
*/
function createXMLHttpRequest()
{
if(window.XMLHttpRequest)
{
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
try
{
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
}
}
}
}
function createDomDocument(obj)
{
var xmlData;
try
{
xmlData = createObject("Msxml2.DOMDocument");
}
catch(e)
{
xmlData = createObject("Msxml.DOMDocument");
}
xmlData.async = false;
xmlData.loadXML(obj);
return xmlData;
}
function createObject(strName)
{
var stm;
try
{
stm = new ActiveXObject(strName);
}
catch(e)
{
var strMsg = "您的计算机没有安装" + strName + ",或者您的浏览器为该网页没有设置本地访问权限";
throw strMsg;
}
return stm;
}
function load()
{
userName = "blair";
var url = 'http://picasaweb.google.com/data/feed/api/user/'+ userName +'?category=album&max-results=30&alt=json';
createXMLHttpRequest();
XMLHttpReq.open("get",url,true);
XMLHttpReq.onreadystatechange = function()
{
if(XMLHttpReq.readyState==4)
{
if(XMLHttpReq.status == 200)
{
//document.write(XMLHttpReq.responseText);
//parseAlbumFeed(XMLHttpReq.responseText);
if(XMLHttpReq.responseText == '')
{
alert('没有相册!');
}
parseAlbumJson(XMLHttpReq.responseText);
}
}
}
XMLHttpReq.send(null);
}
function parseAlbumFeed(obj)
{
var doc = createDomDocument(obj);
var entryElements = doc.getElementsByTagName('entry');
//具体处理每个Album的信息
for (var i = 0; i < entryElements.length; i++)
{
var entry = entryElements[i];
var album=new Album();
//相册标题
album.title=entry.getElementsByTagName('title')[0].text;
//相册描述
album.summary=entry.getElementsByTagName('summary')[0].text;
//相册的访问权限
album.access=entry.getElementsByTagName('gphoto:access')[0].text;
//相册的缩略图
var thumbnail=entry.getElementsByTagName('media:thumbnail')[0];
album.thumbnail=new Thumbnail(thumbnail.getAttribute('url'));
albums.push(album);
}
for(var i=0; i<albums.length; i++)
{
var album = albums[i];
alert(album.title + ", " + album.summary + ", " + album.access + ", " + album.thumbnail.url);
}
}
function parseAlbumJson(obj)
{
var func = new Function("return "+obj);
var json = func();
var album=new Album();
var str = "";
for(var i=0; i<json.feed.entry.length; i++)
{
album.title =json.feed.entry[i].title.$t;
album.desc = json.feed.entry[i].summary.$t;
album.access = json.feed.entry[i].gphoto$access.$t
album.date = json.feed.entry[i].gphoto$timestamp.$t;
var c = new Date();
c.setTime(album.date);
album.date = c.toLocaleDateString() + " " +c.toLocaleTimeString();
album.num = json.feed.entry[i].gphoto$numphotos.$t;
album.src = json.feed.entry[i].media$group.media$thumbnail[0].url;
album.id = json.feed.entry[i].gphoto$id.$t;
albums.push(album);
str += "<a href=javascript:void(0) onclick=getAlbum('" + album.id + "',1" + ")><img src=" + album.src + "?imgmax=" + img_small + "&crop=1 border=0 style='margin:20px;'/></a>";
//document.write(album.id + " ");
//alert('相册标题: '+album.title + '\n相册描述: '+ album.desc + '\n相册权限: '+ album.access + "\n相册日期: "+ album.date + '\n相片个数: ' + album.num + '\n相册封面: ' + album.src + '\n相册ID: ' + album.id);
}
document.getElementById("album").innerHTML = str;
}
function Album()
{
this.title = "";
this.summary="";
this.access="";
this.thumbnail="";
}
function Thumbnail(url)
{
this.url = url;
this.width = 80;
this.height = 80;
}
function getAlbum(albumid, newPage)
{
if (current_page == newPage)
{
return;
}
current_page = newPage;
navigae_page = ((current_page - 1) * max_results) + 1;
var url = 'http://picasaweb.google.com/data/feed/api/user/' + userName + '/albumid/' + albumid + '?category=photo&max-results='+ max_results +'&start-index='+ navigae_page +'&alt=json';
createXMLHttpRequest();
XMLHttpReq.open("get",url,true);
XMLHttpReq.onreadystatechange = function()
{
if(XMLHttpReq.readyState==4)
{
if(XMLHttpReq.status == 200)
{
var func = new Function("return " + XMLHttpReq.responseText);
var json = func();
display(json,albumid);
}
}
}
XMLHttpReq.send(null);
}
function display(j,albumid)
{
var img_sum = j.feed.openSearch$totalResults.$t;
var album_title = j.feed.subtitle.$t;
var album_date = j.feed.gphoto$timestamp.$t;
var c = new Date();
c.setTime(album_date);
album_date = c.toLocaleDateString() + " " +c.toLocaleTimeString();
var len = j.feed.entry.length;
//分页
var page = "";
var pageCount = (img_sum / max_results);
var ppage = "上一页 | ",
npage = "| 下一页";
if (current_page > 1)
{
ppage = "<a href=javascript:void(0) onclick=getAlbum('" + albumid + "'," + (parseInt(current_page) - 1) + ")>上一页</a> | ";
};
if (current_page < pageCount)
{
npage = "| <a href=javascript:void(0) onclick=getAlbum('" + albumid + "'," + (parseInt(current_page) + 1) + ")>下一页</a>";
};
page += ppage + "page";
for (var i = 1; i < pageCount + 1; i++)
{
if (i == current_page)
{
page += "<b>[" + (i) + "]</b>";
}
else
{
page += "<a href=javascript:void(0) onclick=getAlbum('" + albumid + "'," + i + " )>" + (i) + "</a>";
};
};
page += npage;
//alert(img_sum + ", " + album_title + ", " + album_date + ", " + len);
var str = "";
for(var i=0; i<len; i++)
{
var img_src = j.feed.entry[i].content.src;
var img_id = j.feed.entry[i].gphoto$id.$t;
var img_desc = j.feed.entry[i].summary.$t;
var img_date = j.feed.entry[i].exif$tags.exif$time ? j.feed.entry[i].exif$tags.exif$time.$t : j.feed.entry[i].published.$t;
//alert(img_src + ", " + img_id + ", " + img_desc + ", " + img_date);
str += "<a href=" + img_src + "&crop=0 target=_blank title=" + img_desc + "><img src=" + img_src + "?imgmax=" + img_small + "&crop=1 border=1 style='margin:20px;' /></a>";
}
var slideshow = "<a href='http://picasaweb.google.com/" + userName + "/" + j.feed.gphoto$name.$t + "/photo#s" + j.feed.entry[0].gphoto$id.$t + "' rel='gb_page_fs[]' target='_new'>View as slideshow</a>";
document.getElementById("album").style.display = "none";
document.getElementById("slideshow").innerHTML = slideshow;
document.getElementById("img").innerHTML = str;
document.getElementById("page").innerHTML = page;
}
</script>
</head>
<body onload="load()">
<div id="album"></div>
<div id="slideshow"></div>
<div id="img"></div>
<div id="page"></div>
</body>
</html>
分享到:
- 2009-05-04 20:33
- 浏览 1581
- 评论(0)
- 论坛回复 / 浏览 (0 / 2207)
- 查看更多
相关推荐
最新最好用的picasa管理相册工具! picasa3相册-setup.exe
是一款步错的这些好片安慰她·奇文共赏企业和统计2
很强大的功能,如果你的相片,图片,放在你的电脑上面但你本人已经忘记在哪个目录并且不记得文件名了。那就使用它吧,它可以帮你快速的在你的电脑上找到。...您可以通过拖放操 作来排列相册,还* Fac
一个简单的Google相册,正式用于Node.js(> = 4.8.7)的Picasa网络相册客户端(2.0)。 包括Auth助手。安装$ yarn add picasa或者$ npm install --save picasa用法const Picasa = require ( 'picasa' )const picasa ...
【标题】:“模仿Picasa的js图片缩放”是一个基于JavaScript实现的图片处理技术,旨在复制Picasa照片管理软件中的图片缩放效果。在网页应用中,它可以帮助用户预览、展示和调整图片大小,提升用户体验。 【描述】:...
通过输入相册的URL,工具能够自动加载相册中的所有图片信息,然后一键转换成适合在网页中插入的[IMG]标签格式。 这个工具的工作流程如下: 1. 输入Google Picasa相册的URL,这通常是一个包含你个人相册ID的链接。 2...
每次打开 Picasa 时,它都会自动查找所有图片(甚至是那些您已经遗忘的图片),并将它们按日期顺序放在可见的相册中,同时以您易于识别的名称命名文件夹。您可以通过拖放操作来排列相册,还可以添加标签来创建新组。...
在IT行业中,管理和分享个人或组织的数字照片是一项常见的需求,而JAlbum和Google Picasa网络相册是两个流行的选择。JAlbum是一款强大的、开源的数字相册制作软件,它允许用户创建自定义的在线画廊,而Picasa则是...
太牛逼了,相册出了问题后,我已经被折磨的快疯了,搜到的这个小程序代码,试着复制到注册表里,打开后直接就可以用了。真是太牛太神奇了。。比那个什么google+album要好多了,至少到现在我也不会用google+album这个...
Picasa(谷歌相册管理软件)是一个可在计算机上查看、整理、修改和共享数码照片的软件,它会让所有这些工作变得简单而有趣。Picasa 不会未经您的允许就删除照片或将照片放到网络上。 - 自动将你的相片从你的数码相机...
- **网络相册分享**:通过Picasa网络相册功能,可以轻松与家人朋友在线共享照片,无需担心文件传输问题。 ##### 4. 广告免费体验 - **无广告干扰**:Picasa承诺用户在使用过程中不会出现任何广告弹窗,确保了良好的...
它还提供智能相册功能,通过人脸识别技术,帮助用户将同一人物的照片归类到一起。 2. **图片预览与浏览**:Picasa的界面设计简洁而优雅,支持缩略图预览,用户可以快速浏览大量的照片,同时提供了全屏幻灯片展示...
Google PicasaWeb(网络相册),很不错的
picasa 图片编辑器 picasa 图片编辑器 picasa 图片编辑器 picasa 图片编辑器 picasa 图片编辑器 picasa 图片编辑器 picasa 图片编辑器 picasa 图片编辑器 picasa 图片编辑器 picasa 图片编辑器 picasa ...
同时,Picasa Web Albums还支持创建网络相册,让照片分享跨越地域限制。 然而,随着技术的发展和谷歌战略的调整,Picasa于2016年正式停止服务。谷歌推荐用户转向更加现代化的Google Photos,后者提供了无限的云端...
作者通过编写ASP和JavaScript代码,成功实现了一个能够自动化批量导出Picasa相册外链的工具,极大的提升了使用Picasa网册分享相册的便捷性。通过本知识点的梳理,读者不仅能够了解到如何利用ASP和JavaScript解决实际...
使用 Picasa 和 Picasa 网络相册,可以轻松地整理和修改数码照片。图片查看方便快捷。
6. **分享与导出**:用户可以直接通过软件将图片导出到指定位置,或者分享到网络,如Google相册(尽管Google已不再支持Picasa服务,但仍然可以保存到本地或第三方平台)。 7. **关联设置**:Picasa3.8可以设置为...
Picasa 不会未经您的允许就删除照片或将照片放到网络上。 - 自动将你的相片从你的数码相机传输到你的电脑上. - 管理图片并让你能在几秒中内查找到所需的图片. - 让你轻松地编辑, 打印以及共享相片 - 创建...