Home > JavaScript | JSX > 【Photoshop Script】フォルダ内のPSDファイルをGIFで書き出すJSX

【Photoshop Script】フォルダ内のPSDファイルをGIFで書き出すJSX

—————-【追記(2009/11/25 14:26)】—————- ” photoshop jsx 置き場所 “ でググってきた人がいたようなので追記。 基本どこに置いてても構わないはずで、 [ファイル] → [スクリプト] → [参照] から対象のディレクトリを選択すれば読み込めるはずです。

自分は [Program Filesまでのパス]/Adobe/Adobe Photoshop CS4/Presets/Scripts/ に置いてます(デフォルトのスクリプトがいっぱい置いてあるところ)。

CS3以前の場合 [Program Filesまでのパス]/Adobe/Adobe Photoshop CS3/プリセット/スクリプト/ とかだった気がします。

まぁ、ここに置いておけばごちゃごちゃにならないんじゃなかろうか、ということで。

———————-追記ここまで———————-

ちょっと必要に迫られたのでさくっと書いてみました。 PhotoshopScript(っていうのかな?)です。

機能自体は至って単純で、 PSDが入ってるディレクトリを選択 → GIFを保存するディレクトリを選択 → じっくり待つ それだけ。

拡張子.psdだけでフィルタをかけてるので.psdのファイルしか読み込めないはずです。.PSDだと無理な気がします。

ソースは下記

/*
2009.11.10 ver 1.0</p>

<p>author : uno
data   : 2009.11.10
update : ---
*/</p>

<p>var console = {
    log : function(o){
        $.writeln(o);
        return;
    }
};</p>

<p>//環境設定
var startRulerUnits = preferences.rulerUnits;
var startTypeUnits = preferences.typeUnits;</p>

<p>preferences.rulerUnits = Units.PIXELS;
preferences.typeUnits =TypeUnits.PIXELS;</p>

<p>//GIFオプション
var gifOpt = new GIFSaveOptions();
with(gifOpt){
    colors = 256;   //色数:256
    dither = Dither.NONE;   //ディザ:なし
    forced = ForcedColors.BLACKWHITE;   //強制:白黒
    interlaced = false; //インタレース:なし
    matte = MatteType.WHITE;    //マット:白
    palette = Palette.EXACT;    //パレット:使用中の色を全て割り付ける
    preserveExactColors = false;    //同一色の保持:しない
    transparency = false;   //透過:なし
}</p>

<p>//ディレクトリ選択
var 
inputPath = Folder.selectDialog(&quot;ファイルの場所(ディレクトリ)を選択してください。&quot;),
outputPath = Folder.selectDialog(&quot;保存先ディレクトリを選択してください。&quot;),
inputObj = new Folder(inputPath),
outputObj = new Folder(outputPath);
if(!inputObj.exists || !outputObj.exists){
    alert(&quot;フォルダが見つかりません。&quot;);
}
else{
    //ディレクトリリスト作成
    var inputFiles = inputObj.getFiles(&quot;*.psd&quot;);
    for(var i=0, l=inputFiles.length; i&lt;l; i++){
//  for(var i=0, l=5; i&lt;l; i++){
        var
        fileName = inputFiles[i].name.slice(0, -4),
        fileObj = new File(inputFiles[i]),
        outputFiles = new File(outputObj.fsName + &quot;/&quot; + fileName + &quot;.gif&quot;),
        fp = open(fileObj);
        fp.saveAs(outputFiles, gifOpt, true, Extension.LOWERCASE);
        fp.close(SaveOptions.DONOTSAVECHANGES);
    }
}

今後の課題

・更新したファイルだけ書き出しオプションをつける。 ・.PSDでも問題なく動くようにする。 ・GIFオプションを一括設定できるようにする。 ・諸々総合してGUIを導入する。 ・画像(レイヤー等)の調整は別のスクリプトでやるべきな気もする。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://unolabo.boo.jp/archives/2009/11/17-%e3%83%95%e3%82%a9%e3%83%ab%e3%83%80%e5%86%85%e3%81%aepsd%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92gif%e3%81%a7%e6%9b%b8%e3%81%8d%e5%87%ba%e3%81%99jsx.html/trackback
Listed below are links to weblogs that reference
【Photoshop Script】フォルダ内のPSDファイルをGIFで書き出すJSX from うのらぼ。

Home > JavaScript | JSX > 【Photoshop Script】フォルダ内のPSDファイルをGIFで書き出すJSX

Search
Feeds
Meta

Return to page top