<<    |     |  >>
<<    |     |  >>

ランダムフォトで使った.Macサーバー機能


一つ前のエントリ「ランダムフォトのテスト」では当初次のような方法をとっていました。
  • コマンドラインからsipsを使ってファイルをリサイズして小さな画像をあらかじめ作成しておく。
  • 小さな画像をJavaScriptから呼び出して表示する。
まぁある意味正統的な方法です。実はその後、思い立って方向を転換しました。先のエントリはすでに変更されています。
実はここに表示されている画像は.Macサーバーの機能を使って表示されています。
.Macのフォトアルバムホームページのソースをご覧になったことがある方ならもしかしたらわかるかもしれませんが、フォトアルバムで表示している画像は自動的にリサイズした画像が使われています。一覧表示では小さい画像が使われますね。ユーザーがアップロードした画像ファイルはスライドショーで使われる画像です。プレビュー用の画像などユーザーが用意する必要はありません。
さて、一覧表示で使われている画像をそのままダウンロードしてみるとわかるのですが、小さな画像にコンバートされています。HTMLでは元ファイルをそのままに表示サイズのみを変更することが可能です。しかし、小さい画像にコンバートされているのです。どこで行われているのでしょう。どうも、サーバーが表示の際に作成しているらしいのです。
で、その機能を借用させていただきました。この方法ではフォトアルバムの2列表示と3列表示の2つの大きさの画像を表示できるようにしてみました。
こちらに表示したのはやや大きめの画像です。同じJavaScriptを利用しています。引数を変えただけです。
JavaScriptの内容に関してはパクリ+稚拙に過ぎませんので解説しません。.Mac側の指定に関してのみ以下に述べます。
やや癖があるようで、縦横無尽にサイズを変更できるわけではないようです(これは會澤の実験結果にすぎません)。140x105、269x202というサイズ(これがフォトアルバムで使われているサイズ)で運用してみます。どうやって使うかというと使用方法は簡単。次のルールに従って<img>のsrcにファイルアドレスを指定してやります。
http://homepage.mac.com/USERID/.cv/USERID/Sites/.Pictures/なんたら.jpg-thumb_140_105.jpg
わかりにくくてスミマセン。會澤自身理屈がわかっているわけではないのです。
末尾の「-thumb_140_105.jpg」がキモです。ここでサイズを指定してやるのです。「なんたら.jpg」は当然元画像です。また、縦長の画像であれば「-thumb_105_140.jpg」と指定してやればいいですね。.MacのPicturesフォルダにある画像であれば使えます。逆に別の場所(例えばSitesフォルダ)にある画像の場合はどうなんでしょう?やってないのでわかりません。「USERID」はユーザー固有のアドレスですな。會澤の場合は「kaizawa」(蛇足ながら「カイザワ」ではありません「k・アイザワ」と読んでください)
「.cv」というのが何であるかなんて知りません。コンバート(?)と読めなくはありませんね。「Pictures」フォルダの前の「.(ピリオド)」も必須です。どういう理屈なのかは知りませんが、元画像一つでプレビュー画像大・小を扱えるのですから便利です。ただし、サーバーに多くはないにせよ負荷をかけるかもしれませんね。そのへんは多少自己規制。

相変わらず表示させているだけです。それ以上の機能は追々。

   Comment   T-Back  
T-Back URL