初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2020-04-06 03:24:27

Kens
Guest

FMgoまたはFMPで画像の回転方法

調べてみたものの解らなくなってしまったので質問です。FM18です。

オブジェクトフィールド内の画像を90度時計回りにしたいです。
https://fm-aid.com/bbs2/viewtopic.php?id=6946
こちらの方法を試し、自分の環境に合わせて変更しましたが
Letが正しくないといったようなエラーが出て出来ませんでした。

欲を言うとFMgoでも方法があれば最高ですが、不可能なようであれば
FMP(Windows)での方法を教えていただければと思います。
宜しくお願いします。

#2 2020-04-06 07:16:52

himaganee
Guest

Re: FMgoまたはFMPで画像の回転方法

画像を変えるのでなくフィールドを回転させるのではだめなのですか?(それならGoでも可能)

#3 2020-04-06 10:44:33

Moz
Member

Re: FMgoまたはFMPで画像の回転方法

FileMaker には画像編集機能はありませんので単体では画像を弄ることはできません。
そもそもデータベースですからね......できなくて当然です。

すべての画像を90度回転させたいなら himaganee さんの方法で
一部だけなら外のツールを使う方法で解決しましょう。

Let がおかしいというのは計算式のミスだと思いますから読み直して見て下さい。
エラーの出る計算式をここに書けば早いでしょう。どんなエラーが出るのですか?正確には。

入れる時点で向きがおかしいことに気付くでしょうから回転させてから入れるという運用でカバーする方法もあります。

Offline

#4 2020-04-06 11:14:55

qb_dp
Member

Re: FMgoまたはFMPで画像の回転方法

「アプリ:ショートカット」を使えば、FileMaker Go でも可能です。
以下だけでは、わかりにくいですよね~...

FileMaker Go イメージを回転。
https://twitter.com/qbxxdp/status/1068059607963099136


「FileMaker Go」と「アプリ:ショートカット」のやり取りは以下と同じ感じで大丈夫なのですが...
FileMaker Go 画像に書き込み|アプリ「ショートカット」iOS12
https://qbxxdp.blogspot.com/2018/11/fil … ios12.html

Offline

#5 2020-04-06 14:16:55

Kens
Guest

Re: FMgoまたはFMPで画像の回転方法

皆さんありがとうございます。
フィールドを回転ですが、正常な向きの画像もあるので、個別の方法を探しています。
リンク先のコードですがqb_dpさんの投稿で

変数を設定 [$path; 値:Get ( テンポラリパス ) & test::obj]
フィールド内容のエクスポート [test::obj; 「$path」]
変数を設定 [$pathWin; 値:Replace ( Substitute ( $path ; "/" ; "\\" ) ; 1 ; 1 ; "" )]
Event を送信 [「aevt」; 「odoc」; Let([ ¢ps="Let([
	¢ps="powershell  -windowstyle hidden -Command \"
	[void][Reflection.Assembly]::LoadWithPartialName('System.Drawing');
	$image = New-Object System.Drawing.Bitmap('{path}');
	$image.RotateFlip('Rotate90FlipNone');
	$image.Save('{path}', [System.Drawing.Imaging.ImageFormat]::Jpeg);
	$image.Dispose();
	\""
	];
	Substitute ( ¢ps ; "{path}" ; $pathWin )
	)]
スクリプト一時停止/続行 [間隔(秒): 3]
フィールドへ移動 [test::obj]
ピクチャを挿入 [「$path」]

test::obj;は自分の環境のフィールド名にしました。
5行目の "powershell  は \"powershell  に変更しました。
¢をそのままにしたり、$にしたりしました。
結果 ファイル「Let([」が見つからなかったため、処理を完了できません。 出てうまく行きません。

ショートカットを使った方法ですが、画像を回転させるところまで上手く行きました。
FMに戻るは戻るんですが、貼り付けが出来ないのでもう少しやってみます。
しかし、ファイルをいじるのは自分だけでは無くショートカットを全ての端末に設定する必要があるため、
誰でも出来るようにPCでやる方向で考えています。

引き続き、よろしくお願いします。

#6 2020-04-06 15:04:15

qb_dp
Member

Re: FMgoまたはFMPで画像の回転方法

おっと! 失礼しました。
以下、記載間違えています。
誤:

Let([ ¢ps="Let([
	¢ps="powershell  -windowstyle hidden -Command \"
	[void][Reflection.Assembly]::LoadWithPartialName('System.Drawing');
	$image = New-Object System.Drawing.Bitmap('{path}');
	$image.RotateFlip('Rotate90FlipNone');
	$image.Save('{path}', [System.Drawing.Imaging.ImageFormat]::Jpeg);
	$image.Dispose();
	\""
	];
	Substitute ( ¢ps ; "{path}" ; $pathWin )
	)

先頭の Let([ ¢ps=" が要りません。
正:

Let([
	¢ps="powershell  -windowstyle hidden -Command \"
	[void][Reflection.Assembly]::LoadWithPartialName('System.Drawing');
	$image = New-Object System.Drawing.Bitmap('{path}');
	$image.RotateFlip('Rotate90FlipNone');
	$image.Save('{path}', [System.Drawing.Imaging.ImageFormat]::Jpeg);
	$image.Dispose();
	\""
	];
	Substitute ( ¢ps ; "{path}" ; $pathWin )
	)

あと、
ピクチャを挿入 [「$path」] のところは、
正確には、
ピクチャを挿入 [「image:$path」]
です。

Offline

#7 2020-04-06 15:55:18

Kens
Guest

Re: FMgoまたはFMPで画像の回転方法

qb_dpさん
修正いただき、ありがとうございます。正常に動作しました!
iOSでも貼り付け部分以外は動作するので、とりあえずはこれで便利になりました。
お助けいただき、ありがとうございました!

#8 2020-04-06 16:38:04

himaganee
Guest

Re: FMgoまたはFMPで画像の回転方法

回転するフラグのフィールドを用意すれば、レコードごとに回転するかしないかは自由に決められますが(必要な方のフィールドだけ表示する)

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 517.99 KiB (Peak: 522.9 KiB) ]