Tips

ピクチャの回転

日付2010/10/27
ID76187 (英語原文参照)
バージョンv11
プラットフォームMac OS

4D v11/v12にはイメージを回転させるコマンドが用意されていません。TRANSFORM PICTUREコマンドは, イメージを反転させたり, 変形させたりすることができますが, 回転はできません。ただし, Mac OSであれば, 多彩なイメージ操作をすることができます。

UNIXコマンドSIPS(scriptable image processing system)と4DのLAUNCH EXTERNAL PROCESSを組み合わせることにより, 単一のイメージ, あるいはフォルダ内のすべてのイメージファイルを加工することができます。詳細は, Appleのテクニカルノートに記述されています。

http://developer.apple.com/library/mac/#technotes/tn/tn2035.html

下記は, イメージを1度単位で回転させるメソッドです。

C_POINTER($Image_P;$1)
C_TEXT($FileName_T;$2;$Script_T)
C_LONGINT($Degrees_L;$3)

$Image_P:=$1
$FileName_T:=$2
$Degrees_L:=$3

$FilePath_T:=Get 4D folder(Active 4D Folder)+$FileName_T
WRITE PICTURE FILE($FilePath_T;$Image_P->)

// v12
$scriptPath_T:=Convert path system to POSIX($FilePath_T)

// v11 
$POSIX_Path2_T:="/Volumes/"+Replace string($FilePath_T;":";"/")

$Script_T:="sips -r "+String($Degrees_L)+" "+$scriptPath_T
LAUNCH EXTERNAL PROCESS($Script_T)

READ PICTURE FILE($FilePath_T;$Image_P->)
DELETE DOCUMENT($FilePath_T)

大量のイメージをまとめて操作する場合, 下記のようにコマンドを使用する便利です。

sips -r 90 /Users/youraccount/Desktop/Folder/*.png

SIPSは, イメージの回転だけでなく, 画像フォーマットの変換などにも応用できます。