I'm posting it here as I'd like to encourage this forum to post and share scripts so we can all share and learn. Feel free to use and modify it, but if you do please share any additions, enhancements, etc. This script was recorded in PSP X8. I don't know enough yet to know what other versions of PSP it would run on.
Code: Select all
from PSPApp import *
def ScriptProperties():
return {
'Author': u'GBotes',
'Copyright': u'2015. Share, use and change freely.',
'Description': u'Rescue - Provides shadow and highlight recovery for images that are dark or very blown out',
'Host': u'PaintShop Pro',
'Host Version': u'18.00'
}
def Do(Environment):
# EnableOptimizedScriptUndo
App.Do( Environment, 'EnableOptimizedScriptUndo', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# LayerDuplicate
App.Do( Environment, 'LayerDuplicate', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# LayerDuplicate
App.Do( Environment, 'LayerDuplicate', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# SmartPhotoFix
App.Do( Environment, 'SmartPhotoFix', {
'UseGreyBalance': True,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# OneStepNoiseRemoval
App.Do( Environment, 'OneStepNoiseRemoval', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# BlackAndWhiteFilm
App.Do( Environment, 'BlackAndWhiteFilm', {
'FilterColor': None,
'Strength': None,
'Red': 0.333333,
'Green': 0.333333,
'Blue': 0.333333,
'Brightness': -100,
'Clarify': 100,
'SuggestSettings': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# NegativeImage
App.Do( Environment, 'NegativeImage', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# MultiObjectProperties
App.Do( Environment, 'MultiObjectProperties', {
'General': {
'Opacity': None,
'Name': None,
'IsVisible': None,
'IsTransparencyLocked': None,
'LinkSet': None,
'UseHighlight': None,
'PaletteHighlightColor': None,
'GroupLink': None,
'BlendMode': App.Constants.BlendMode.Overlay
},
'Effects': None,
'WorkingMode': 1,
'Path': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.AllAlways,
}
})
# MultiObjectProperties
App.Do( Environment, 'MultiObjectProperties', {
'General': {
'Opacity': 50,
'Name': None,
'IsVisible': None,
'IsTransparencyLocked': None,
'LinkSet': None,
'UseHighlight': None,
'PaletteHighlightColor': None,
'GroupLink': None,
'BlendMode': None
},
'Effects': None,
'WorkingMode': 1,
'Path': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.AllAlways,
}
})
# Gaussian Blur
App.Do( Environment, 'GaussianBlur', {
'Radius': 5,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# LayerMergeDown
App.Do( Environment, 'LayerMergeDown', {
'Path': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# LayerDuplicate
App.Do( Environment, 'LayerDuplicate', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# Local Tone Mapping
App.Do( Environment, 'LocalToneMap', {
'Strength': 10,
'Block Size': 8,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# Color Adjust HSL
App.Do( Environment, 'ColorAdjustHSL', {
'HSL': {
'Colorize': False,
'Master': (0,10,0),
'MasterColorize': (0,0,0),
'Red': (0,0,0,315,345,15,45),
'Green': (0,0,0,75,105,135,165),
'Blue': (0,0,0,195,225,255,285),
'Cyan': (0,0,0,135,165,195,225),
'Magenta': (0,0,0,255,285,315,345),
'Yellow': (0,0,0,15,45,75,105)
},
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# HighPassSharpen
App.Do( Environment, 'HighPassSharpen', {
'BlendMode': App.Constants.BlendMode.HardLight,
'Strength': 50,
'Radius': 3,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
# LayerMergeDown
App.Do( Environment, 'LayerMergeDown', {
'Path': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
}
})
