FileMaker Pro で画像データベースを作る際、Adobe Photoshop .psd ファイルの扱いがバージョンによって異なりますので注意が必要です。
FileMaker での PSD サポート
FileMakerでメディア管理も作れるわけですが、バージョンによってPSDファイルが扱えたり扱えなかったりするようです。
個人の心情を挟み込むと、これはけっこう酷い仕様で、むかつきます。おんどれなにさらしてくれとんじゃぼけかすと言いたいところですがぐっと堪えます(←堪えてないし)
心情はともかく、どういうことかというとこういうことです。
バージョン 16までは Photoshop PSDファイルを扱える
FileMaker Pro 16 まではPhotoshopのPSDファイルがインポートできていました。それで、何も気にせずPSDファイルも管理していました。
バージョン 17 では Photoshop PSD対応を削除
FileMaker Pro Advanced 17 という長ったらしい名前に変わったバージョン17から、Photoshop ファイルが扱えなくなりました。
•JPEG 2000、MacPaint、Photoshop、SGI、および TGA イメージ形式のサポートが取り除かれました。オブジェクトフィールドのデータの操作を参照してください。FileMaker Pro 17 Advanced の新機能
こんな機能劣化をされているとは全然気づいていませんでした。画像管理のファイルでPSDがことごとく表示されないのは何らかのエラーかファイルが壊れたのだと思ってたんですよ。
何をやっても表示できないので調べたら「新機能として、PSDのサポートは取り除かれました」とちゃんと書いてありまして、長く使っていて初めて知りました。しかしどんな新機能やねん。
バージョン19で再びサポート
で、バージョン18は知りませんが 19 で再びPSDをサポートしました。「インポートできる画像ファイル形式」の欄に「Photoshop (.psd)」の記述が戻っています。
インポートできる画像ファイル形式: Encapsulated Postscript (.eps)、GIF (.gif)、JPEG/JFIF (.jpg)、PDF (.pdf) (macOS)、Photoshop (.psd) (macOS)、PNG (.png)、TIFF (.tif)、Windows bitmap (.bmp)、Windows Metafile/Enhanced Metafile (.wmf/.emf) (Windows)
つまり、今まで出来ていたことを出来なくして、次のバージョンでまた出来るようにして「元通りになりたければ新しいのを買いやがれ」と言ってるわけですね。そういう手口なわけですが、あまり褒められたものではないですね。
バージョン19ではランタイム作成機能を削除して配布できなくさせてその代わりにライセンス料を値上げするという、ユーザーにダブルハラスメントを行いましたから、「19なんか要らん」という人もいたかもしれません。しかしPSDのために仕方なく導入を余儀なくされるという人もいるでしょう。卑劣さに理不尽を感じつつも「仕方がない」と従順に受け入れる哀れを痛感する以外ありません。
ということで、19のデモ版を利用すると、PSDをインポートできました。
はい。で、今回このポストは謎解きの答えを先に書いて、この後、v17でのpsdに関する挙動不審について書くという構成になっております。下書きの放置期間が長かったからですがそれはどうでもよくて、つまりここまで読んだあなたは、もう以下を読む必要がありません。ありがとうございました。
そんなわけで挙動不審についてです。
挙動不審のPSDファイルの扱い
FileMaker Pro v17を使っているとpsdファイルが挙動不審でどうしたものかと悩ましいです。
- オブジェクトフィールドの設定による違いがあります。
- 読み込む方法によって違いがあります。
- 以前のバージョンや最新のバージョンで読み込んだかどうかの違いがあるかもしれません。
- さてどうしましょ
オブジェクトフィールドの設定による違い
レイアウト上のオブジェクトフィールドについてです。表示の設定があって、イメージかインタラクティブコンテンツかを選択します。
ムービーファイルなどを扱うときにはインタラクティブコンテンツを選択します。JPEGやPNGなど普通の画像も表示できます。ですからデフォでこれでいいや、ってなります。
読み込む方法による違い
画像を読み込む方法は大きく二つあって、ひとつはメニュー「挿入」から選びます。もうひとつは「インポート」でフォルダを選びフォルダごと読み込みます。
v17ではメニュー「挿入」から「ピクチャ」を選んだとき、ダイアログで psd ファイルがグレーアウトして選べません。今はもう理由を知っていますね。これが非サポートの証でしょう。
「挿入」から「ファイル」を選ぶと、psd ファイルが選べます。「ファイル」で挿入するとこうなります。
インポート – フォルダ でインポートすると、先の例のようにイメージで表示できます。
フォルダごとインポートすると非サポートに失敗してイメージが読み込まれるんでしょうか。ファイルに含まれるサムネイルを読み込んでいるのでしょうか。わかりませんが、とにかくフォルダごと読み込めば psd の取り扱いが可能になります。
バージョンによる違い
もう答えを知っているので書いても仕方がないですが、v16以前やv19での読み込みでは問題がありません。
さてどうしましょ
v19を採用するしかないわけですが、まるでDV夫を慕って付いていく暴力亭主大好き女房のようで自虐的ですよねえ。それにv19って、デフォルトテーマが酷いとか新規作成画面がうざいとかアドオンメニューがしゃしゃり出てきて鬱陶しいとか、その代わり操作や機能が何も改善されていないとか、いろいろ負の印象しかないんですよねえ。
イメージフィールドの暫定的な解決
ところでイメージフィールドの表示方法についてですが、「イメージ」か「インタラクティブ」かという部分、これをスクリプトや関数で制御することはできません。
つまり例えば、拡張子がpsdであれば「イメージ」で表示、movであれば「インタラクティブ」で表示、みたいな処理はできないってことですね。
仕方がないのでアナログ的に解決します。
同じサイズのイメージフィールドを二つ用意して重ねます。ひとつはイメージ、ひとつはインタラクティブにします。
「次の場合にオブジェクトを隠す」を使って無理矢理表示を切り替えます。
拡張子がmovならイメージを隠す、psdならインタラクティブを隠す、みたいなことをつらつら書いて、イメージのフィールドとインタラクティブのフィールドを隠したり表示したり切り替えます。
これでとりあえず解決。v19がなくてもまあまあイケました。