スライドショーに使う画像を読み込む
結婚式用のスライドショーをAfterEffectsスクリプトを使って、自動でつくる方法を紹介しています。 今日は、スライドショーをつくる上で必ず必要な、写真・画像ファイルを読み込む方法の紹介です。
前提条件
- 画像ファイルは、
/img/
フォルダに格納(変更できます) /img/
フォルダは、スクリプトを走らすプロジェクトと同じフォルダに配置します(変更できます)- スライドショーで使う画像の拡張子はすべて統一しておく
- 画像のファイル名は三桁の連番としておく
001.jpg
、011.jpg
等
まずは、ファイルのパスや、格納先を宣言して起きます。
var PATH_CURRENT = File.decode(app.project.file.parent); var PATH_PHTO = "/img/"; // 相対パスではない。プロジェクト直下のフォルダのみ対応 var TYPE_PHOT = ".jpg"; // 拡張子は自由に変更可能
画像を読み込む手順を書きます。
(ここでPageCompList[i]
と言うのは、各スライドショーページ用のコンポジションです。
たとえば、スライドショーのページが30枚であればこのコンポジションは30個の配列になります。)
これは別記事で説明します。
// 写真の読み込み // /img/に000.jpgで入れておく。 //***********************************************// var PhotoList=[]; for (var i = 1; i <= PAGE_NUM ; i++) { // ファイルの指定 var pNUM = ("00"+i).slice(-3); // ゼロ埋め var loadFile = PATH_CURRENT+PATH_PHTO+pNUM+TYPE_PHOT; // // ファイルのインポート PhotoList[i] = importFootage(loadFile); //コンポジションに追加 var myLay = PageCompList[i].layers.add( PhotoList[i] ); }
上のコードであるimportFootage()
という関数は、自分で作った関数です。
特になにをしているわけではないのですが、フッテージを読み込む際には、フッテージタイプの指定をしなければならないので、その処理を書いています。
あと、ファイルパスが間違っているエラーが良くでるので、その処理を書いてます。
(ファイルの拡張子が違ったり、連番になってなかったり。。。頻発するので、ここで書いていると後で幸せになる。。)
// フッテージファイルのインポート用関数 //***********************************************// var importFootage = function(PATH){ // ファイルのインポート (おまじない) try{ var io = new ImportOptions( File( PATH )); // フッテージタイプの判定 if ( io.canImportAs( ImportAsType.COMP)){ io.ImportAs = ImportAsType.COMP; }else{ io.ImportAs = ImportAsType.FOOTAGE; } // フッテージをプロジェクトに読み込む var footage = app.project.importFile(io); }catch(e){ // ファイルが読み込めなかったときの処理 alert(e); } return footage; }
一応これで、各スライドショーページ用の画像を読み込む事ができました。 次回はこれらの画像を、コメント用のテキストと合わせて配置して行く方法を紹介します。