みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
よろしくお願いします。FileMaker13です。
商品画面に商品の画像をひとつ表示されるようにしています。
(商品マスタの指定画像番号を見てNASにおいた指定番号名のファイルを参照)
商品によっては複数の画像(別の角度から等)を見たいという要望があり、
設置したサムネール[6]をクリックすると画像(グローバル)に表示されるように考えているのですが、これがうまくいきません。
●指定画像番号[6](テキスト)※画像がある時とない時がある
↓
●サムネール[6](計算オブジェクト)
↓クリック
●画像(グローバル)
サムネールの計算式はどのようにすればよいでしょうか。
「ひとつ表示されるように」できてるなら、それをGetThumbnail (ソースフィールド;幅に合わせる;高さに合わせる)に適用すればいいのでは。
現在の計算式は下記のようなものです。
※従来の画像指定フィールド(品番で管理)に
追加画像番号フィールド(数字で管理)を追加したため、
下記のようになっています。
Let([
ID = Get ( 計算式繰り返し位置番号 );
PIC =
Case (
ID = 1; 画像品番;
ID = 2; 追加画像番号[1];
ID = 3; 追加画像番号[2];
ID = 4; 追加画像番号[3];
ID = 5; 追加画像番号[4];
ID = 6; 追加画像番号[5]
)
];
PASS & PIC & ".jpg" &¶&
PASS &"noimage.jpg"
)
GetThumbnailは埋め込み画像のフィールドをソースにしないとダメ
みたいですけど。違うかな?
でも計算式はGetThumbnailとは関係無さそうですし。
それとpassではなくpathの方がいいかも。
Offline
それが 指定画像番号[6](テキスト)の計算式なら、計算結果を(テキスト)でなく(オブジェクト)に変えて、画像が表示できますか?
PASSフィールドの内容が合ってないのでは?
サムネイル関数は「GetThumbnail ( "image:question.png" ; 50 ; 50 ) 」という用例が出てるから、フィールドの必要はないはず。ヘルプが間違ってるかもしれないけど^^;
GetThumbnailについて調べてみたのですが、
オブジェクトフィールドのサムネールイメージを返す、とだけ書かれています。
元画像をレイアウトする事との違いがわからないのですが、
メモリに読み込むデータを軽減するためと考えて良いのでしょうか。
ただ、私の悩んでいる点はサムネールそのものではなく、
繰り返しの計算についてです。
上記の私の計算式ではうまく表示してくれません。
pathですね。ずっと間違えていました^^;
すいません、計算式の方はうまくいきました。
calcerのおっしゃるとおり単純な指定ミスでした。
お騒がせしました。m(_ _)m
GetThumbnailについてですが、元画像より小さく表示する場合は積極的に使用した方が良いのでしょうか。
今のままだと、単に
PASS[1] & 指定画像番号 & ".jpg"
ではないのかな。
実は私もGetThumbnailは使った事ないです。
Last edited by 旅人 (2015-02-12 14:46:48)
Offline
使わないで十分な状況なら、不要でしょう。
ほとんどの場合元画像も表示するなら、二度手間だし。
calcerさま、旅人さま、ありがとうございます。
サムネールをクリックしてメイン画像フィールドに表示するところに進んでいるのですが、
例えば、画像[6]をレイアウト上で[1]とか[2]とかに切り替える方法はありますでしょうか。
それができればサムネールと同じフィールドを使用することができます。
無理に[6]を切り離して使う必要も無いと思いますけど
サムネイルにグローバル変数に行番号を入れるEnterトリガを設定して
サムネイルの式をGet (計算式繰り返し位置番号) ≤5 なら元パス
それ以外ならGetRepetition(追加画像番号?;グローバル変数)を使ったパス
にしたらいいのでは。
Offline
GetRepetitionでうまくいきました!
ありがとうございました!
Pages: 1
[ Generated in 0.041 seconds, 10 queries executed - Memory usage: 523.8 KiB (Peak: 528.34 KiB) ]