dfGalleryを使ってみる

一般には公開していませんが、http://www.dezinerfolio.com/2007/06/07/dfgallery/:Title=dfGalleryを使ったページを作ってみたので、自分向けの備忘録として使用法と感想なぞ。

dfGalleryに対する設定は、html内と別ファイルとして読み込ませるxmlに記述します。それぞれ設定できる項目は以下。

  • html
width 数値 pxとか%とか
height 数値 pxとか%とか
allowFullScreen trueかfalse
quality bestとか
scale noScaleとか

widthとheightはObjectタグの属性として、それ以外はparamタグとして記述します。
つまり、Flashへのパラメータですね。
ということは、下記xmlファイルへのパスもここに記述できるということです。*1

<param name="FlashVars" value="xmlFile=/xml.php?id=1"></param>
title 文字列
thumbnail_dir サムネイルの格納されたフォルダへのパス
image_dir 画像の格納されたフォルダへのパス
slideshow_interval 秒単位の数字
pause_slideshow trueかfalse
rss_scale_images trueかfalse
background_music mp3ファイルへのパス
background_music_volume 数字
link_images trueかfalse
disable_printscreen trueかfalse
    • albums
album title 文字列
      • image
title 文字列
date 形式はどうなんかな
thumbnail サムネイルのファイル名
image 画像のファイル名

パスの指定は、gallery.swfファイルからの相対パスを記述します。

具体的には

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="100%" height="100%">
    <param name="allowFullScreen" value="true" />
    <param name="movie" value="gallery.swf" />
    <param name="quality" value="best" />
    <param name="scale" value="noScale" />
    <embed src="gallery.swf" quality="best" scale="noScale" width="100%" height="100%" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
<?xml version="1.0" encoding="iso-8859-1"?>
    <gallery>
        <config>
            <title>Sinan's Photos</title>
            <thumbnail_dir>images/thumbs/</thumbnail_dir>
            <image_dir>images/big/</image_dir>
            <slideshow_interval>5</slideshow_interval>
            <pause_slideshow>false</pause_slideshow>
            <rss_scale_images>true</rss_scale_images>
            <background_music>Johnny Quest.mp3</background_music>
            <background_music_volume>50</background_music_volume>
            <link_images>false</link_images>
            <disable_printscreen>false</disable_printscreen>       
        </config>

        <album title="The Wild Cats." description="few images of the wild cats.">
            <image title="White Tiger" date="21.04.07" thumbnail="c1.jpg" image="c1.jpg">A perfect shot of a white tiger walking in the woods</image>
            <image title="Unexpected!" date="29.05.07" thumbnail="c2.jpg" image="c2.jpg"> This beast scared us by giving us a really sudden shot.</image>
        </album>
        
        <language>
            <string id="please wait" value="Please wait" />
            <string id="loading" value="Loading" />
            <string id="previous page" value="Previous Page" />
            <string id="page % of %" value="Page % of %" />
            <string id="next page" value="Next Page" />
        </language>
    </gallery>

誰か日本語のパスの書き方教えて

そうなんです。xmlに日本語のパスとかファイル名とか書いても、エンコードされちゃってだめなんです。
どうしたものか。

感想

画面は評判どおりとてもきれいです。
動作もいい感じですが、画像を先読みするアルゴリズムはもう少し工夫の余地があるように思われます。
あと、全画面表示の際にキーボードショートカットが使えるとありがたいんですが、これはFlash側の制限で無理なんですよね、確か。

自分としては、日本語ファイル名の問題が解決できれば、万人におすすめできるソフトだと思いました。

*1:PHPの外側、つまり <?php ?>の外側に<?xml ?>を書くとエラーになりました。PHPの中でechoすると大丈夫でした。