Skip to content

Instantly share code, notes, and snippets.

@yasushisakai
Created April 27, 2015 07:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yasushisakai/8894b7411dd51c4d0998 to your computer and use it in GitHub Desktop.
Save yasushisakai/8894b7411dd51c4d0998 to your computer and use it in GitHub Desktop.
///////////////////////////////////////////////////////////////
var total_iterations = 10000;
///////////////////////////////////////////////////////////////
function addZero(_num){
var digits = 5;
var string_num = ""+_num;
if(string_num.length < digits){
var zeros = digits-string_num.length;
for(var i=0;i<zeros;i++){
string_num = "0" + string_num;
}
}
return string_num;
}
function save(_iter_no){
var path = "D:\\data\\pj\\2014\\140923_profile_photo\\iteration\\";
//=======================================================
var idsave = charIDToTypeID( "save" );
var desc19 = new ActionDescriptor();
var idAs = charIDToTypeID( "As " );
var desc20 = new ActionDescriptor();
var idPGIT = charIDToTypeID( "PGIT" );
var idPGIT = charIDToTypeID( "PGIT" );
var idPGIN = charIDToTypeID( "PGIN" );
desc20.putEnumerated( idPGIT, idPGIT, idPGIN );
var idPNGf = charIDToTypeID( "PNGf" );
var idPNGf = charIDToTypeID( "PNGf" );
var idPGAd = charIDToTypeID( "PGAd" );
desc20.putEnumerated( idPNGf, idPNGf, idPGAd );
var idCmpr = charIDToTypeID( "Cmpr" );
desc20.putInteger( idCmpr, 9 );
var idPNGF = charIDToTypeID( "PNGF" );
desc19.putObject( idAs, idPNGF, desc20 );
var idIn = charIDToTypeID( "In " );
desc19.putPath( idIn, new File( path + "me_"+_iter_no+".png" ) );
var idDocI = charIDToTypeID( "DocI" );
desc19.putInteger( idDocI, 101 );
var idCpy = charIDToTypeID( "Cpy " );
desc19.putBoolean( idCpy, true );
var idsaveStage = stringIDToTypeID( "saveStage" );
var idsaveStageType = stringIDToTypeID( "saveStageType" );
var idsaveBegin = stringIDToTypeID( "saveBegin" );
desc19.putEnumerated( idsaveStage, idsaveStageType, idsaveBegin );
executeAction( idsave, desc19, DialogModes.NO );
// =======================================================
var idsave = charIDToTypeID( "save" );
var desc21 = new ActionDescriptor();
var idAs = charIDToTypeID( "As " );
var desc22 = new ActionDescriptor();
var idPGIT = charIDToTypeID( "PGIT" );
var idPGIT = charIDToTypeID( "PGIT" );
var idPGIN = charIDToTypeID( "PGIN" );
desc22.putEnumerated( idPGIT, idPGIT, idPGIN );
var idPNGf = charIDToTypeID( "PNGf" );
var idPNGf = charIDToTypeID( "PNGf" );
var idPGAd = charIDToTypeID( "PGAd" );
desc22.putEnumerated( idPNGf, idPNGf, idPGAd );
var idCmpr = charIDToTypeID( "Cmpr" );
desc22.putInteger( idCmpr, 9 );
var idPNGF = charIDToTypeID( "PNGF" );
desc21.putObject( idAs, idPNGF, desc22 );
var idIn = charIDToTypeID( "In " );
desc21.putPath( idIn, new File( path + "me_"+_iter_no+".png" ) );
var idDocI = charIDToTypeID( "DocI" );
desc21.putInteger( idDocI, 101 );
var idCpy = charIDToTypeID( "Cpy " );
desc21.putBoolean( idCpy, true );
var idsaveStage = stringIDToTypeID( "saveStage" );
var idsaveStageType = stringIDToTypeID( "saveStageType" );
var idsaveSucceeded = stringIDToTypeID( "saveSucceeded" );
desc21.putEnumerated( idsaveStage, idsaveStageType, idsaveSucceeded );
executeAction( idsave, desc21, DialogModes.NO );
}
// ==== initial transformation =================
var idTrnf = charIDToTypeID( "Trnf" );
var desc2 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref1 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref1.putEnumerated( idLyr, idOrdn, idTrgt );
desc2.putReference( idnull, ref1 );
var idFTcs = charIDToTypeID( "FTcs" );
var idQCSt = charIDToTypeID( "QCSt" );
var idQcsa = charIDToTypeID( "Qcsa" );
desc2.putEnumerated( idFTcs, idQCSt, idQcsa );
var idOfst = charIDToTypeID( "Ofst" );
var desc3 = new ActionDescriptor();
var idHrzn = charIDToTypeID( "Hrzn" );
var idPxl = charIDToTypeID( "#Pxl" );
desc3.putUnitDouble( idHrzn, idPxl, 0.000000 );
var idVrtc = charIDToTypeID( "Vrtc" );
var idPxl = charIDToTypeID( "#Pxl" );
desc3.putUnitDouble( idVrtc, idPxl, -320.000000 );
var idOfst = charIDToTypeID( "Ofst" );
desc2.putObject( idOfst, idOfst, desc3 );
var idHght = charIDToTypeID( "Hght" );
var idPrc = charIDToTypeID( "#Prc" );
desc2.putUnitDouble( idHght, idPrc, 150.000000 );
var idIntr = charIDToTypeID( "Intr" );
var idIntp = charIDToTypeID( "Intp" );
var idBcbc = charIDToTypeID( "Bcbc" );
desc2.putEnumerated( idIntr, idIntp, idBcbc );
var idcontentAware = stringIDToTypeID( "contentAware" );
desc2.putBoolean( idcontentAware, true );
var idAmnt = charIDToTypeID( "Amnt" );
desc2.putDouble( idAmnt, 100.000000 );
executeAction( idTrnf, desc2, DialogModes.NO );
// save
save(addZero(0));
for(var i=1;i<total_iterations;i++){
if(i%2==1){
// squashing
// =======================================================
var idTrnf = charIDToTypeID( "Trnf" );
var desc4 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref2 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref2.putEnumerated( idLyr, idOrdn, idTrgt );
desc4.putReference( idnull, ref2 );
var idFTcs = charIDToTypeID( "FTcs" );
var idQCSt = charIDToTypeID( "QCSt" );
var idQcsa = charIDToTypeID( "Qcsa" );
desc4.putEnumerated( idFTcs, idQCSt, idQcsa );
var idOfst = charIDToTypeID( "Ofst" );
var desc5 = new ActionDescriptor();
var idHrzn = charIDToTypeID( "Hrzn" );
var idPxl = charIDToTypeID( "#Pxl" );
desc5.putUnitDouble( idHrzn, idPxl, 0.000000 );
var idVrtc = charIDToTypeID( "Vrtc" );
var idPxl = charIDToTypeID( "#Pxl" );
desc5.putUnitDouble( idVrtc, idPxl, 640.000000 );
var idOfst = charIDToTypeID( "Ofst" );
desc4.putObject( idOfst, idOfst, desc5 );
var idHght = charIDToTypeID( "Hght" );
var idPrc = charIDToTypeID( "#Prc" );
desc4.putUnitDouble( idHght, idPrc, 33.333333 );
var idIntr = charIDToTypeID( "Intr" );
var idIntp = charIDToTypeID( "Intp" );
var idBcbc = charIDToTypeID( "Bcbc" );
desc4.putEnumerated( idIntr, idIntp, idBcbc );
var idcontentAware = stringIDToTypeID( "contentAware" );
desc4.putBoolean( idcontentAware, true );
var idAmnt = charIDToTypeID( "Amnt" );
desc4.putDouble( idAmnt, 100.000000 );
executeAction( idTrnf, desc4, DialogModes.NO );
}else{
// stretching
// =======================================================
var idTrnf = charIDToTypeID( "Trnf" );
var desc6 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref3 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref3.putEnumerated( idLyr, idOrdn, idTrgt );
desc6.putReference( idnull, ref3 );
var idFTcs = charIDToTypeID( "FTcs" );
var idQCSt = charIDToTypeID( "QCSt" );
var idQcsa = charIDToTypeID( "Qcsa" );
desc6.putEnumerated( idFTcs, idQCSt, idQcsa );
var idOfst = charIDToTypeID( "Ofst" );
var desc7 = new ActionDescriptor();
var idHrzn = charIDToTypeID( "Hrzn" );
var idPxl = charIDToTypeID( "#Pxl" );
desc7.putUnitDouble( idHrzn, idPxl, 0.000000 );
var idVrtc = charIDToTypeID( "Vrtc" );
var idPxl = charIDToTypeID( "#Pxl" );
desc7.putUnitDouble( idVrtc, idPxl, -640.000000 );
var idOfst = charIDToTypeID( "Ofst" );
desc6.putObject( idOfst, idOfst, desc7 );
var idHght = charIDToTypeID( "Hght" );
var idPrc = charIDToTypeID( "#Prc" );
desc6.putUnitDouble( idHght, idPrc, 300.000000 );
var idIntr = charIDToTypeID( "Intr" );
var idIntp = charIDToTypeID( "Intp" );
var idBcbc = charIDToTypeID( "Bcbc" );
desc6.putEnumerated( idIntr, idIntp, idBcbc );
var idcontentAware = stringIDToTypeID( "contentAware" );
desc6.putBoolean( idcontentAware, true );
var idAmnt = charIDToTypeID( "Amnt" );
desc6.putDouble( idAmnt, 100.000000 );
executeAction( idTrnf, desc6, DialogModes.NO );
}
save(addZero(i));
}
// close
// =======================================================
var idCls = charIDToTypeID( "Cls " );
var desc23 = new ActionDescriptor();
var idSvng = charIDToTypeID( "Svng" );
var idYsN = charIDToTypeID( "YsN " );
var idN = charIDToTypeID( "N " );
desc23.putEnumerated( idSvng, idYsN, idN );
executeAction( idCls, desc23, DialogModes.NO );
alert("finished");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment