Code: Select all/////////////////////////////////////////////////////////////////////////////
//Usage:-
// selectBrush("Airbrush Pen Opacity Flow" );
// selectBrush("Soft Round 21 pixels" );
/////////////////////////////////////////////////////////////////////////////
function selectBrush(brushName) {
function cTID(s) { return app.charIDToTypeID(s); };
function sTID(s) { return app.stringIDToTypeID(s); };
var idslct = charIDToTypeID( "slct" );
var desc4 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref2 = new ActionReference();
var idBrsh = charIDToTypeID( "Brsh" );
ref2.putName( idBrsh, brushName);
desc4.putReference( idnull, ref2 );
executeAction( idslct, desc4, DialogModes.NO );
};
/////////////////////////////////////////////////////////////////////////////
//Usage:-
// brushSize(29);
/////////////////////////////////////////////////////////////////////////////
function brushSize(size) {
function cTID(s) { return app.charIDToTypeID(s); };
function sTID(s) { return app.stringIDToTypeID(s); };
var idsetd = charIDToTypeID( "setd" );
var desc5 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref1 = new ActionReference();
var idBrsh = charIDToTypeID( "Brsh" );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref1.putEnumerated( idBrsh, idOrdn, idTrgt );
desc5.putReference( idnull, ref1 );
var idT = charIDToTypeID( "T " );
var desc6 = new ActionDescriptor();
var idmasterDiameter = stringIDToTypeID( "masterDiameter" );
var idPxl = charIDToTypeID( "#Pxl" );
desc6.putUnitDouble( idmasterDiameter, idPxl, size );
var idBrsh = charIDToTypeID( "Brsh" );
desc5.putObject( idT, idBrsh, desc6 );
executeAction( idsetd, desc5, DialogModes.NO );
};
/////////////////////////////////////////////////////////////////////////////
//Usage:-
// brushHardness (66);
/////////////////////////////////////////////////////////////////////////////
function brushHardness(size){
if(parseInt(size) > 100) size = 100;
var idsetd = charIDToTypeID( "setd" );
var desc15 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref7 = new ActionReference();
var idBrsh = charIDToTypeID( "Brsh" );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref7.putEnumerated( idBrsh, idOrdn, idTrgt );
desc15.putReference( idnull, ref7 );
var idT = charIDToTypeID( "T " );
var desc16 = new ActionDescriptor();
var idhardness = stringIDToTypeID( "hardness" );
var idPxl = charIDToTypeID( "#Pxl" );
desc16.putUnitDouble( idhardness, idPxl, size );
var idBrsh = charIDToTypeID( "Brsh" );
desc15.putObject( idT, idBrsh, desc16 );
executeAction( idsetd, desc15, DialogModes.NO );
};
Brush functions.
Brush functions.
Hey thanks, but quick question. What does Code: Select allif(parseInt(size) > 100) size = 100; do?
Brush functions.
If you set the brush any larger than 100, it changes it to 100. I don't know for sure but I'd guess that is the max brush size for photoshop?
Patrick
Patrick
Brush functions.
Yes Patrick is correct, the hardness of the brush maximum is 100, that line is there so that if someone enters a greater value the value is reduced to 100.
Brush functions.
Ok that makes sense. I understood the greater than >, but not the parseInt. Seems like a useful piece of code...
Brush functions.
parseInt is an explicit data type conversion.
Code: Select allvar mynum = "2.21430";
$.writeln( typeof mynum ); // string
$.writeln( mynum ); // 2.21430
mynum = parseInt( mynum );
$.writeln( typeof mynum ); // number
$.writeln( mynum ); // 2
..converts a string to an integer.
Code: Select allvar mynum = "2.21430";
$.writeln( typeof mynum ); // string
$.writeln( mynum ); // 2.21430
mynum = parseInt( mynum );
$.writeln( typeof mynum ); // number
$.writeln( mynum ); // 2
..converts a string to an integer.
Brush functions.
Don't forget about this:
Code: Select allvar i = parseInt("0543");
$.writeln(i); // 355
var i = Number("0543");
$.writeln(i); // 543
I don't use parseInt unless I'm expecting to parse octal or hex numbers. It's burned me more than once.
-X
Code: Select allvar i = parseInt("0543");
$.writeln(i); // 355
var i = Number("0543");
$.writeln(i); // 543
I don't use parseInt unless I'm expecting to parse octal or hex numbers. It's burned me more than once.
-X
Brush functions.
Sorry to bump this but I just learned something that others may have already known.
To use parseInt correctly you have to know what base number the string represents.
Code: Select allvar i = parseInt("0543");// defaults to octal because string starts with 0
$.writeln(i); // 355
var i = parseInt("0543",10);// force decimal
$.writeln(i); // 543
var i = parseInt("0xff");// defaults to hex because string starts with 0x
$.writeln(i); // 255
var i = parseInt("ff");// defaults to decimal
$.writeln(i); // NaN
var i = parseInt("ff",16);// force hex
$.writeln(i); // 255
But you can't use parseInt to convert bases.
Code: Select allvar i = parseInt("0xff",10);
$.writeln(i); // 0
Number also has defaults that may lead to errors.
Code: Select allvar i = Number("0543");// defaults decimal
$.writeln(i); // 543, may be wrong result if string was octal
var i = Number(0543);// defaults to octal
$.writeln(i); // 355
var i = Number("0xff");// defauts to hex
$.writeln(i); // 255
var i = Number(0xff);// defauts to hex
$.writeln(i); // 255
var i = Number("ff");// defaults to decimal
$.writeln(i); // NaN
To use parseInt correctly you have to know what base number the string represents.
Code: Select allvar i = parseInt("0543");// defaults to octal because string starts with 0
$.writeln(i); // 355
var i = parseInt("0543",10);// force decimal
$.writeln(i); // 543
var i = parseInt("0xff");// defaults to hex because string starts with 0x
$.writeln(i); // 255
var i = parseInt("ff");// defaults to decimal
$.writeln(i); // NaN
var i = parseInt("ff",16);// force hex
$.writeln(i); // 255
But you can't use parseInt to convert bases.
Code: Select allvar i = parseInt("0xff",10);
$.writeln(i); // 0
Number also has defaults that may lead to errors.
Code: Select allvar i = Number("0543");// defaults decimal
$.writeln(i); // 543, may be wrong result if string was octal
var i = Number(0543);// defaults to octal
$.writeln(i); // 355
var i = Number("0xff");// defauts to hex
$.writeln(i); // 255
var i = Number(0xff);// defauts to hex
$.writeln(i); // 255
var i = Number("ff");// defaults to decimal
$.writeln(i); // NaN