在flickr时代,为了专门把站内嵌入相册,还专门写了一篇文章把Flickr相册搬回家。flickr被墙之后,我就把个人相册转到了Web Picasa上。用Picasa Web就简单多了,官方提供了Slideshow Flash,而且形式也比较漂亮,阅微堂之前也是用这样的方式,不过这种方法麻烦的一点是在Picasa上添加相册,就要手动到blog这边更新一次。这两天看到了 Web Picasa API,感觉这玩意儿的功能太强了,完全可以做一个Picasa的站内镜像版。

最后的效果见阅微堂相册

更令人惊讶的是,这种效果完全是javascript(JSON API)实现的(虽然我觉得如果在后台用php实现效果会更好)。主要用的是JavaScript interface to PicasaWeb Albums,一个开源项目,其实就一个单js文件。使用也非常简单,就下面几行代码:

<script type='text/javascript'>
username = 'your.username'; photosize='800';
</script> <script type='text/javascript' src='http://yourpath/pwa.js'>
</script>

Google的图片预载入做的非常好,浏览图片的时候会自动开始载入下一张图片,而且每张图片有若干种大小,它会从小到大预先载入,以便察看下一张的时候便能使用已经载入的图片,所以经常出现察看下一张图片时刚开始比较模糊,过一会就会变得清晰的情形(其实这种效果用小波编码的图像可以自动实现,但不知为何一直没见到什么应用)。这样做的相册,用户体验非常好,xiaonei等网站的相册可以学一学。不过这种方法会增加网站的带宽成本,Google财大气粗...

另外,我终于知道了为何我以前有时候引用Google的图片却不成功了。Google的图片分为好多种大小,通过imgmax参数调用,比如右边图片的原始地址是DSCN6503.JPG,但直接在网页上引用这个地址是不行的,一定要明确指出需要的图片大小,而且还不能太大,太大了只能提供下载(如果直接输入地址,浏览器会提示你保存图片,而不是显示出来)。能在网页上引用的图片最大宽度(高度)为800px,也即DSCN6503.JPG?imgmax=800。更详细的资料见下表。

输出大小 是否可剪切 是否可嵌入 输出大小 是否可剪切 是否可嵌入
32 Yes Yes 576 No Yes
48 Yes Yes 640 No Yes
64 Yes Yes 720 No Yes
72 No Yes 800 No Yes
144 No Yes 912 No No
160 Yes Yes 1024 No No
200 No Yes 1152 No No
288 No Yes 1280 No No
320 No Yes 1440 No No
400 No Yes 1600 No No
512 No Yes d No No

从表中可以看出Google输出的图片种类之多,难道Google在服务器端保存了这么多副本么?那得耗费多少空间啊?

用Web Picasa API搭建站内相册的更多相关文章

  1. 通过Google Custom Search API 进行站内搜索

    今天突然想把博客的搜索改为google的站内搜索,印象中google adsense中好像提高这个站内搜索的代码,但苦逼的是google adsense帐号一直审核不通过,所以只能通过google c ...

  2. 百度站内搜索https不可用切换api搜索,加上谷歌api站内搜索

    google推https几年了,百度开始宣传全面https,但是,百度站内搜索 自己的服务却不走https,接口报错.百度分享也是. 然后采用http://search.zhoulujun.cn/cs ...

  3. 借助 Lucene.Net 构建站内搜索引擎(下)

    前言:上一篇我们学习了Lucene.Net的基本概念.分词以及实现了一个最简单的搜索引擎,这一篇我们开始开发一个初具规模的站内搜索项目,通过开发站内搜索模块,我们可以方便地在项目中集成站内搜索功能.本 ...

  4. es站内站内搜索笔记(一)

    es站内站内搜索笔记(一) 第一节: 概述 使用elasticsearch进行网站搜索,es是当下最流行的分布式的搜索引擎及大数据分析的中间件,搜房网的主要功能:强大的搜索框,与百度地图相结合,实现地 ...

  5. 站内全文检索服务来了,Xungle提供免费全文检索服务

    免费站内全文检索服务来了,是的,你没听错.全文检索相信大家已经不太陌生,主流检索服务有sphinx.xunsearch等,但这些都受服务器限制,对于中小站长尤其是没有服务器实现就困难了,随着数据量的增 ...

  6. 借助 Lucene.Net 构建站内搜索引擎(上)

    前言:最近翻开了之前老杨(杨中科)的Lucene.Net站内搜索项目的教学视频,于是作为老杨脑残粉的我又跟着复习了一遍,学习途中做了一些笔记也就成了接下来您看到的这篇博文,仅仅是我的个人笔记,大神请呵 ...

  7. 在ssh中利用Solr服务建立的界面化站内搜索---solr2

         继上次匆匆搭建起结合solr和nutch的所谓站内搜索引擎之后,虽当时心中兴奋不已,可是看了看百度,再只能看看我的控制台的打印出每个索引项的几行文字,哦,好像差距还是有点大……        ...

  8. 在ssh中利用Solr服务建立的界面化站内搜索

         继上次匆匆搭建起结合solr和nutch的所谓站内搜索引擎之后,虽当时心中兴奋不已,可是看了看百度,再只能看看我的控制台的打印出每个索引项的几行文字,哦,好像差距还是有点大……      简 ...

  9. 站内搜索(ELK)之开篇

    因工作需要,近期使用ELK搭建单位内部“站内搜索”,目前已将内部OA系统20余个流程的表单.附件的数据索引到elasticsearch中,包括打印复印流程.声像采集流程.远程文件发送.规章制度.内线电 ...

随机推荐

  1. 分布式系统里session同步的那些事儿

    几周前,有个盆友问老王,说现在有多台服务器,怎么样来解决这些服务器间的session同步问题?老王一下就来精神了,因为在n年以前,老王还在学校和几个同学一起所谓创业的时候,也遇到了类似的问题.当时查了 ...

  2. [CSS]利用伪元素实现一些特殊图形

    给定的html代码是: <div class='square'></div> 平常实现我们常是通过添加小的icon来实现,不仅需要添加图片资源,还需要改动html结构. CSS ...

  3. java 判断是不是检查性异常

    /** * Return whether the given throwable is a checked exception: * that is, neither a RuntimeExcepti ...

  4. linux 监控命令

    先总结下常用的一些监控工具: ##linux命令 w 系统负载 lsof -p pid 进程打开的文件 lsof -i:port 端口的运行情况 free -m 内存情况 vmstat 进程.内存.内 ...

  5. jquery 的小角落

    最近换了工作,在这家公司里,使用了大量的jQuery,闲来无事看看锋利的jQuery,发现好多边边角角的选择器,却能省去一大堆逻辑上的的代码,废话不多说直接上代码. #### jquery 对象与do ...

  6. [Node.js] Scraping Dynamic JavaScript Websites with Nightmare

    Many websites have more than just simple static content. Dynamic content which is rendered by JavaSc ...

  7. uva 11440 - Help Tomisu(欧拉功能)

    题目链接:uva 11440 - Help Tomisu 题目大意:给定n和m,求从2~n.中的数x.要求x的质因子均大于m.问说x有多少个.答案模上1e9+7. 解题思路: (1)n!=k∗m!(n ...

  8. 《Java并发编程实战》第六章 任务运行 读书笔记

    一. 在线程中运行任务 无限制创建线程的不足 .线程生命周期的开销很高 .资源消耗 .稳定性 二.Executor框架 Executor基于生产者-消费者模式.提交任务的操作相当于生产者.运行任务的线 ...

  9. mybatis0208 缓存

    查询缓存 1.1缓存的意义 数据在磁盘会有一个IO,高并发读取效率就很低,将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效 ...

  10. 小结 iOS 中的 copy

    预备知识 : 内存的栈区 : 由编译器自动分配释放, 存放函数的参数值, 局部变量的值等. 其 操作方式类似于数据结构中的栈. 内存的堆区 : 一般由程序员分配释放, 若程序员不释放, 程序结束时可能 ...