PDA

View Full Version : Copyrighting Action... Help Please


paulstmungo
21st February 2006, 07:09 PM
Hi There folks,

I wonder if anyone can assist.

At the moment i run an action to apply a copyright message across an image i wish to protect. like the one in the pic

Th problem is that this action requires the photo to be of specific dimensions and DPI.

If i change these dimensions the wording runs off the image when i run the action and it appears of centre and unprofessional .

I am looking for a way which i can apply this same style of copyright image to any pic regardless of size or orientation, so that it appears central and maintains its size on the image.


I want to avoid re-sizing a whole lot of images to specific dimensions to speed up my workflo a bit

Thanks

Paul

Stemmy
21st February 2006, 07:47 PM
I have made a copyright brush.

It does mean opening every image but when you have them resized for the web or a slideshow you can open 50 at a time.

You can resize the brush using the [ and ] keys as you would do normally.

Doing it this way means that you can position the copyright so that it doesnt interfere with the image. Im not a big fan of copyrights covering the faces.

I have an action set up on the F2 button that saves and closes images. So the job is really quick stamp-F2-stamp-F2-stamp-F2 and so on.

I can do 200 images in 5 minutes.

Open a psd file with a transparent background (Should look like a check pattern) using a graphics tablet sign your name. Using text add copyright (ithen added a little drop shadow to mine). Then go to EDIT - DEFINE BRUSH PRESET. Name your brush and thats it. When you go to your brushes right at the bottom of the list will be your copyright brush. Select this and you can use it like any other brush ie. change opacity, color, size etc.

Hope im not teaching Grandmother to suck eggs. Thought I would detail every step so people new to Photoshop can have a go.

Sample of copyright below

paulstmungo
21st February 2006, 10:33 PM
Thanks for your help Martin,

Ill give that a go.

Maybe i was hoping for too much in an action that would take into account image dimensions before applying an appropriate copyright banner.

It probably isn't even possible.

If there are any photoshop geniuses out there i would still be keen to know if its possible though !

StagePhotography.co.uk
21st February 2006, 10:46 PM
Here's a script for use of Paint Shop Pro...

It adds Copyright wording centered on a 600 by 400
image as below.

Basically....

It addes the text as a "section".

Moves it down 2 pixels to the right (creating the white space),
then adds a 2 pixel shadow (the black).

Then deselects.

Run as a script in batch mode to add this to loads in seconds...

I'm going to create several scripts for the different sizes of images I use.

StagePhotography.co.uk
21st February 2006, 10:46 PM
from JascApp import *

def ScriptProperties():
return {
'Author': u'George Riddell',
'Copyright': u'George Riddell 2006',
'Description': u'Adds "Copyright" to an image 600 by 400 centere'\
u'd.',
'Host': u'Paint Shop Pro 9',
'Host Version': u'9.01'
}


def Do(Environment):
# EnableOptimizedScriptUndo
App.Do( Environment, 'EnableOptimizedScriptUndo', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((9,0,1),1)
}
})

# Text
App.Do( Environment, 'TextEx', {
'Visibility': True,
'CreateAs': App.Constants.CreateAs.Selection,
'Start': (300,200),
'TextFlow': App.Constants.TextFlow.HorizontalDown,
'TextType': App.Constants.TextType.TextBase,
'Matrix': [
1,
0,
0,
0,
1,
0,
0,
0,
1
],
'AutoKern': True,
'Kerning': 0,
'Tracking': 0,
'Leading': 0,
'Font': u'Arial Black',
'PointSize': 70,
'Italic': False,
'Bold': True,
'Underline': False,
'Strikethru': False,
'AntialiasStyle': App.Constants.AntialiasEx.Smooth,
'WarpText': True,
'SetText': App.Constants.Justify.Center,
'Fill': {
'Color': (255,255,255),
'Pattern': None,
'Gradient': None,
'Texture': None,
'Art': None
},
'Stroke': {
'Color': (0,0,0),
'Pattern': None,
'Gradient': None,
'Texture': None,
'Art': None
},
'LineWidth': 0,
'LineStyle': {
'Name': u'',
'FirstCap': (u'',0.25,0.25),
'LastCap': (u'',0.25,0.25),
'FirstSegCap': (u'',0.25,0.25),
'LastSegCap': (u'',0.25,0.25),
'UseSegmentCaps': False,
'Segments': []
},
'Join': App.Constants.JointStyle.Miter,
'MiterLimit': 10,
'Characters': u'Copyright',
'Strings': None,
'TextTarget': (0,0,[1],True),
'PathTarget': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'PreviewVisible': True,
'AutoProof': False,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((9,0,1),1)
}
})

# MoveSelection
App.Do( Environment, 'MoveSelection', {
'Offset': (2,1),
'OutlineOnly': False,
'ClearSource': True,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((9,0,1),1)
}
})

# Drop Shadow
App.Do( Environment, 'DropShadow', {
'Blur': 0,
'Color': (0,0,0),
'Horizontal': 2,
'NewLayer': False,
'Opacity': 100,
'Vertical': 2,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'DialogPlacement': {
'ShowMaximized': False,
'Rect': ((435,244), 411, 509)
},
'PreviewVisible': True,
'AutoProof': False,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((9,0,1),1)
}
})

# SelectNone
App.Do( Environment, 'SelectNone', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((9,0,1),1)
}
})

lostmysnorkel
21st February 2006, 10:49 PM
Thanks for those instructions Stemmy - I'll give it a go tomorrow.

StagePhotography.co.uk
21st February 2006, 11:01 PM
from JascApp import *

def ScriptProperties():
return {
'Author': u'George Riddell',
'Copyright': u'George Riddell 2006',
'Description': u'Uses Drop shadow to create a copyright message '\
u'on a image 600 by 400.',
'Host': u'Paint Shop Pro 9',
'Host Version': u'9.01'
}


def Do(Environment):
# EnableOptimizedScriptUndo
App.Do( Environment, 'EnableOptimizedScriptUndo', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((9,0,1),1)
}
})

# Text
App.Do( Environment, 'TextEx', {
'Visibility': True,
'CreateAs': App.Constants.CreateAs.Selection,
'Start': (300,200),
'TextFlow': App.Constants.TextFlow.HorizontalDown,
'TextType': App.Constants.TextType.TextBase,
'Matrix': [
1,
0,
0,
0,
1,
0,
0,
0,
1
],
'AutoKern': True,
'Kerning': 0,
'Tracking': 0,
'Leading': 0,
'Font': u'Arial Black',
'PointSize': 70,
'Italic': False,
'Bold': True,
'Underline': False,
'Strikethru': False,
'AntialiasStyle': App.Constants.AntialiasEx.Smooth,
'WarpText': True,
'SetText': App.Constants.Justify.Center,
'Fill': {
'Color': (255,255,255),
'Pattern': None,
'Gradient': None,
'Texture': None,
'Art': None
},
'Stroke': {
'Color': (0,0,0),
'Pattern': None,
'Gradient': None,
'Texture': None,
'Art': None
},
'LineWidth': 0,
'LineStyle': {
'Name': u'',
'FirstCap': (u'',0.25,0.25),
'LastCap': (u'',0.25,0.25),
'FirstSegCap': (u'',0.25,0.25),
'LastSegCap': (u'',0.25,0.25),
'UseSegmentCaps': False,
'Segments': []
},
'Join': App.Constants.JointStyle.Miter,
'MiterLimit': 10,
'Characters': u'Copyright',
'Strings': None,
'TextTarget': (0,0,[1],True),
'PathTarget': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'PreviewVisible': True,
'AutoProof': False,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((9,0,1),1)
}
})

# Drop Shadow
App.Do( Environment, 'DropShadow', {
'Blur': 0,
'Color': (0,0,0),
'Horizontal': 2,
'NewLayer': False,
'Opacity': 100,
'Vertical': 2,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'DialogPlacement': {
'ShowMaximized': False,
'Rect': ((435,244), 411, 509)
},
'PreviewVisible': True,
'AutoProof': False,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((9,0,1),1)
}
})

# Drop Shadow
App.Do( Environment, 'DropShadow', {
'Blur': 0,
'Color': (255,255,255),
'Horizontal': -2,
'NewLayer': False,
'Opacity': 100,
'Vertical': -2,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'DialogPlacement': {
'ShowMaximized': False,
'Rect': ((435,244), 411, 509)
},
'PreviewVisible': True,
'AutoProof': False,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((9,0,1),1)
}
})

# SelectNone
App.Do( Environment, 'SelectNone', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((9,0,1),1)
}
})

StagePhotography.co.uk
22nd February 2006, 10:25 AM
For a gentler smoother message change

'Opacity': 100,

to

'Opacity': 50,

in the 2 drop shadow actions above.

Len Bartz
7th March 2006, 06:57 AM
Scripting is cool, but I've got too many other things on my plate.

If you're looking for an easier way to do batch processing in Photoshop, take a look at IOpener. www.imagefire.com/IOpener.htm

It's a fairly simple little program (PC only) that can be set to feed you images one at a time, without having to go get them one at a time, and remember where you left off, or open 10 at a time and tie up your RAM.

OR...you can use it as an awsome batch processor. It lets you set up a list of actions, each of which will run only if certain conditions are met.

For example you can set it up to run THIS action if the image is vertical, or THAT action if it's horizontal, or different actions based on the size of the image.

Using this copyright thread as an example, you can set up multiple actions that adds different sized copyright overlays, depending on the images orientation or size, and it will run through a whole directory full of images and apply the right size in the right place, without having to do a thing.

That's how I did this one. Same basic thing as what you've been seeing here.

Stemmy
7th March 2006, 11:19 AM
I like doing it my way as you can place the copyright where you want.

I'm not a big fan of the "Right across the picture" method.

I like mine to be a bit more discreet.

Sometimes the action isn't center image so I can move the copyright to another place.

Len Bartz
7th March 2006, 06:55 PM
Oh, I agree with you 100%. I'm just showing that you CAN do what he was requesting.

I do much the same thing as you. I add a logo to the corner of each finished image. It's just that I don't do it with a brush. I USED to, but now I have two actions that add my logo in the corner. One action for verticals...another for horizontals. Then I use IOpener to run a batch process on it. It's even faster than using a brush.

I'm always looking for a way to shave a few seconds off my workflow and this thing does it. I use it all the time.

You can use it as a batch processor or you can use it to feed you files.

Rather than opening a bunch of images, as you are, you can point it at a directory. You can then minimize it to be just an icon in the system tray, and it every time you click it, it will automatically save and close the current image and open the NEXT one. Same thing you're doing, only minus the opening of the images.

In the example you're using it won't save you all that much time, but there are countless other applications where it really does.

I do some beta testing for the guy that wrote the software, and I'm a firm enough believer it it that I did a movie for him, just as a my way of saying thanks. It shows more about what the program does. Take a look at it HERE (http://www.psscript.com/Vids/ImProOverview/overview.htm).