Hello,
Is there a simplier way to do that:
I want to just modify some parameters in the head of my script and then execute the script with it.
If it is easy for layer opacity, It is not the same for blend mode . I have to declare a variable for each blend mode first then enter my parameters.
I want my parameters to be first and alone and execute the rest of the script from an included external source.
From this order it doesn't work.
Code: Select all// template
// define all the ty of blendmode
var COLORBLEND = BlendMode.COLORBLEND;
var COLORBURN = BlendMode.COLORBURN;
var COLORDODGE = BlendMode.COLORDODGE;
var DARKEN = BlendMode.DARKEN;
var DIFFERENCE = BlendMode.DIFFERENCE;
var DISSOLVE = BlendMode.DISSOLVE;
var EXCLUSION = BlendMode.EXCLUSION;
var HARDLIGHT = BlendMode.HARDLIGHT;
var HUE = BlendMode.HUE;
var LIGHTEN = BlendMode.LIGHTEN;
var LINEARBURN = BlendMode.LINEARBURN;
var LINEARDODGE = BlendMode.LINEARDODGE;
var LINEARLIGHT = BlendMode.LINEARLIGHT;
var LUMINOSITY = BlendMode.LUMINOSITY;
var MULTIPLY = BlendMode.MULTIPLY;
var NORMAL = BlendMode.NORMAL;
var OVERLAY = BlendMode.OVERLAY;
var PASSTHROUGH = BlendMode.PASSTHROUGH;
var PINLIGHT = BlendMode.PINLIGHT;
var SATURATION = BlendMode.SATURATION;
var SCREEN = BlendMode.SCREEN;
var SOFTLIGHT = BlendMode.SOFTLIGHT;
var VIVIDLIGHT = BlendMode.VIVIDLIGHT;
//===========
// Parameters
//===========
//var FilterFileName =;
var FilterBlendMode = DIFFERENCE;
var FilterLayerOpacity = 35;
//var VignetteFileName =;
var VignetteBlendMode = OVERLAY;
var VignetteLayerOpacity = 50;
//var TextureFileName =;
var TextureBlendMode = COLORBLEND;
var TextureLayerOpacity = 50;
//var FrameFilename =;
var FrameBlendMode = COLORDODGE;
var FrameLayerOpacity = 50;
//===========
//===========
//===========
var docRef = app.activeDocument;
//===========
docRef.flatten();
//===========
docRef.activeLayer.isBackgroundLayer = false;
docRef.activeLayer.name = "Original picture";
//===========
var filterLayer = docRef.artLayers.add();
filterLayer .name = "Filter";
filterLayer.blendMode = FilterBlendMode;
filterLayer.opacity = FilterLayerOpacity;
var vignetteLayer = docRef.artLayers.add();
vignetteLayer.name = "Vignette";
vignetteLayer.blendMode = VignetteBlendMode;
vignetteLayer.opacity = VignetteLayerOpacity;
var textureLayer = docRef.artLayers.add();
textureLayer.name = "Texture";
textureLayer.blendMode = TextureBlendMode;
textureLayer.opacity = TextureLayerOpacity;
var frameLayer = docRef.artLayers.add();
frameLayer.name = "Frame";
frameLayer.blendMode = FrameBlendMode;
frameLayer.opacity = FrameLayerOpacity;
Thanks.
Sebastien
Variables and blend modes
Re: Variables and blend modes
Well, I think I did it the easier way than that looked like. However that could be done that 'library of blend modes' launches 'main script' I did it in proper order, as normally a script with a program uses other one as an repository. Note: Put files on a desktop or change path in a script...
A version in one script.
OBJECT STYLE:
ARRAY STYLE:
A version in two scripts.
OBJECT STYLE:
Blend Mode Library.jsx
Blend Mode Script.jsx
ARRAY STYLE:
Blend Mode Library.jsx
Blend Mode Script.jsx
A version in one script.
OBJECT STYLE:
Code: Select all
if (documents.length) {
#target photoshop
bringToFront()
obj = {1: 'COLORBLEND', 2: 'COLORBURN', 3: 'COLORDODGE', 4: 'DARKEN', 5: 'DIFFERENCE', 6: 'DISSOLVE',
7: 'EXCLUSION', 8: 'HARDLIGHT', 9: 'HUE', 10: 'LIGHTEN', 11: 'LINEARBURN', 12: 'LINEARDODGE',
13: 'LINEARLIGHT', 14: 'LUMINOSITY', 15: 'MULTIPLY', 16: 'NORMAL', 17: 'OVERLAY', 18: 'PASSTHROUGH',
19: 'PINLIGHT', 20: 'SATURATION', 21: 'SCREEN', 22: 'SOFTLIGHT', 23: 'VIVIDLIGHT'}
for(i in obj) obj[i] = eval('BlendMode.' + obj[i]);
(aD = activeDocument).flatten(); (aL = aD.activeLayer).isBackgroundLayer = 0, aL.name = "Original picture"
for(j = 0, nme = ["Filter", "Vignette", "Texture", "Frame"]; j < nme.length; j++) {
(lyr = aD.artLayers.add()).name = nme[j], lyr.blendMode = obj[[5, 17, 1, 3][j]]
lyr.opacity = 50 - (!j ? 15 : 0), nme.splice(j, 1, lyr)
}
}
else alert('There must be opened at least one document!')
Code: Select all
if (documents.length) {
#target photoshop
bringToFront()
arr = ['COLORBLEND', 'COLORBURN', 'COLORDODGE', 'DARKEN', 'DIFFERENCE', 'DISSOLVE', 'EXCLUSION',
'HARDLIGHT', 'HUE', 'LIGHTEN', 'LINEARBURN', 'LINEARDODGE', 'LINEARLIGHT', 'LUMINOSITY', 'MULTIPLY',
'NORMAL', 'OVERLAY', 'PASSTHROUGH', 'PINLIGHT', 'SATURATION', 'SCREEN', 'SOFTLIGHT', 'VIVIDLIGHT']
for(i = 0; i < arr.length; i++) arr.splice(i, 1, eval('BlendMode.' + arr[i]));
(aD = activeDocument).flatten(); (aL = aD.activeLayer).isBackgroundLayer = 0, aL.name = "Original picture"
for(j = 0, nme = ["Filter", "Vignette", "Texture", "Frame"]; j < nme.length; j++) {
(lyr = aD.artLayers.add()).name = nme[j], lyr.blendMode = arr[[4, 16, 0, 2][j]]
lyr.opacity = 50 - (!j ? 15 : 0), nme.splice(j, 1, lyr)
}
}
else alert('There must be opened at least one document!')
A version in two scripts.
OBJECT STYLE:
Blend Mode Library.jsx
Code: Select all
obj = {1: 'COLORBLEND', 2: 'COLORBURN', 3: 'COLORDODGE', 4: 'DARKEN', 5: 'DIFFERENCE', 6: 'DISSOLVE',
7: 'EXCLUSION', 8: 'HARDLIGHT', 9: 'HUE', 10: 'LIGHTEN', 11: 'LINEARBURN', 12: 'LINEARDODGE',
13: 'LINEARLIGHT', 14: 'LUMINOSITY', 15: 'MULTIPLY', 16: 'NORMAL', 17: 'OVERLAY', 18: 'PASSTHROUGH',
19: 'PINLIGHT', 20: 'SATURATION', 21: 'SCREEN', 22: 'SOFTLIGHT', 23: 'VIVIDLIGHT'}
for(i in obj) obj[i] = eval('BlendMode.' + obj[i]);
Code: Select all
if (documents.length) {
#target photoshop
bringToFront(), eval('#include ' + File('~/Desktop/Blend Mode Library.jsx'));
(aD = activeDocument).flatten(); (aL = aD.activeLayer).isBackgroundLayer = 0, aL.name = "Original picture"
for(j = 0, nme = ["Filter", "Vignette", "Texture", "Frame"]; j < nme.length; j++) {
(lyr = aD.artLayers.add()).name = nme[j], lyr.blendMode = obj[[5, 17, 1, 3][j]]
lyr.opacity = 50 - (!j ? 15 : 0), nme.splice(j, 1, lyr)
}
else alert('There must be opened at least one document!')
ARRAY STYLE:
Blend Mode Library.jsx
Code: Select all
arr = ['COLORBLEND', 'COLORBURN', 'COLORDODGE', 'DARKEN', 'DIFFERENCE', 'DISSOLVE', 'EXCLUSION',
'HARDLIGHT', 'HUE', 'LIGHTEN', 'LINEARBURN', 'LINEARDODGE', 'LINEARLIGHT', 'LUMINOSITY', 'MULTIPLY',
'NORMAL', 'OVERLAY', 'PASSTHROUGH', 'PINLIGHT', 'SATURATION', 'SCREEN', 'SOFTLIGHT', 'VIVIDLIGHT']
for(i = 0; i < arr.length; i++) arr.splice(i, 1, eval('BlendMode.' + arr[i]));
Code: Select all
if (documents.length) {
#target photoshop
bringToFront(), eval('#include ' + File('~/Desktop/Blend Mode Library.jsx'));
(aD = activeDocument).flatten(); (aL = aD.activeLayer).isBackgroundLayer = 0, aL.name = "Original picture"
for(j = 0, nme = ["Filter", "Vignette", "Texture", "Frame"]; j < nme.length; j++) {
(lyr = aD.artLayers.add()).name = nme[j], lyr.blendMode = arr[[4, 16, 0, 2][j]]
lyr.opacity = 50 - (!j ? 15 : 0), nme.splice(j, 1, lyr)
}
else alert('There must be opened at least one document!')
- Attachments
-
- Blend Mode.zip
- (968 Bytes) Downloaded 389 times