I need custom script values, so found a script that can do it:
Code: Select all
main();
function main(){
/****************
Use either
zoomIn();
zoomOut();
**************/
if(!documents.length) return;
var zoomLevels=[12.5, 25, 50, 100, 150, 200, 300, 400];
zoomIn();
function zoomIn(){
var zoomLevel = getZoomLevel();
for(var z in zoomLevels){
if(Number(zoomLevels[z]) > Number(zoomLevel)){
setZoomLevel(zoomLevels[z]);
break;
}
}
};
function getZoomLevel(){
var ref = new ActionReference();
ref.putEnumerated( charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );
var desc = executeActionGet(ref);
return Number(desc.getDouble(stringIDToTypeID('zoom'))*100).toFixed(1);
};
function setZoomLevel( zoom ) {
if(zoom < 1 ) zoom =1;
var ref = new ActionReference();
ref.putEnumerated( charIDToTypeID("capp"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );
var getScrRes = executeActionGet(ref).getObjectValue(stringIDToTypeID('unitsPrefs')).getUnitDoubleValue(stringIDToTypeID('newDocPresetScreenResolution'))/72;
var docRes = activeDocument.resolution;
activeDocument.resizeImage( undefined, undefined, getScrRes/(zoom/100), ResampleMethod.NONE );
var desc = new ActionDescriptor();
ref = null;
ref = new ActionReference();
ref.putEnumerated( charIDToTypeID( "Mn " ), charIDToTypeID( "MnIt" ), charIDToTypeID( 'PrnS' ) );
desc.putReference( charIDToTypeID( "null" ), ref );
executeAction( charIDToTypeID( "slct" ), desc, DialogModes.NO );
activeDocument.resizeImage( undefined, undefined, docRes, ResampleMethod.NONE );
};
};
Is there any way to improve script execution speed?