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.
-
Mr Maze
Brush functions.
Hey thanks, but quick question. What does Code: Select allif(parseInt(size) > 100) size = 100; do?
-
Patrick
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
-
Paul MR
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.
-
Mr Maze
Brush functions.
Ok that makes sense. I understood the greater than >, but not the parseInt. Seems like a useful piece of code...
-
müller
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.
-
xbytor
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
-
Mike Hale
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