QuickTimeへの依存を断つために
日付 | 2011/04/14 |
---|---|
ID | 76282 (英語原文参照) |
バージョン | 11, 12 |
プラットフォーム | Mac/Win |
4D v11 SQL以降, 4Dは画像の表示をQuickTimeに依存することをやめ, JPEGやPNGなど, どの画像フォーマットであってもシステムのネイティブAPIを利用するようになりました。ただ唯一の例外がMacPICT形式で, このフォーマットだけはQuickTimeのライブラリを必要とします。もっとも, MacPICTは実際のところコンテナであり, JPEGやGIFやTIFFなど, 他のフォーマットの画像を内部に持つことができるものです。
QuickTimeへの依存を断つために, CONVERT PICTUREコマンドを使用し, ピクチャを一般的なフォーマットに変換することが勧められています。フィールドであれば, 次のようなコードでMacPICTをJPEG形式に変換することができます。
ALL RECORDS([Pictures_4D]) While (Not(End selection([Pictures_4D]))) CONVERT PICTURE([Pictures_4D]Pic;".jpg") SAVE RECORD([Pictures_4D]) NEXT RECORD([Pictures_4D]) End while
ちなみにv12であれば, JPEGの圧縮率も指定することができます。
CONVERT PICTURE([Pictures_4D]Pic;".jpg"; 0.6)
大事なポイントとして, 上記の処理は必ずQuickTimeがインストールされているWindowsマシンかMacで実行する必要があります。QuickTimeのないマシンで変換を実行した場合, MacPICTは失われることになります。QuickTimeの有無は, 次のようなコードで確認することができます。
ARRAY TEXT($ids_at;0) ARRAY TEXT($names_at;0) PICTURE CODEC LIST($ids_at;$names_at) If (Find in array(".qtif";$ids_at)<0) // QuickTime image ALERT("QuickTime is not installed.") End if