Copy link to clipboard
Copied
Hello. I recently switched from CS6 to CC, and I am having an issue grabbing and moving objects in PS. Allow me to explain.
I take volunteer to take photos for our local shelter. I have a specific watermark that I use on these photos, made up of 7-8 different layers. Even with all the layers selected, I can't move the watermark around the image. When I transform it to resize, it only seems grab two of the layers, even though all are selected.
I am running an up-top-date Windows 10 PC. Hopefully one day I'll be on Mac...lol.
Any advice on how to fix this or direction towards what may be causing it would be greatly appreciated.
Thanks.
One note: there was a default change between CS6 and CC: when you have the Move tool selected, Photoshop CC defaults to Auto-Select Layer on. It's been there for years but defaulted to off. Try unchecking it and PS will move things like it used to.
Copy link to clipboard
Copied
I would suggest a different approach. Create your watermark as a large document. A Canvas size that is many pixel wide and high. Use as many layers as you want and save it as a PSD file you can make modification in the future. However also save is as a large png file with a transparent background. Use this png file to watermark your images. The PNG will not be a very large files and it can be placed into your image documents and be sized and position via the place transform for the image. A single smart object layer the can repositioned and resized. All your watermark's pixels are in the object it will always resize well. I have posted a script that you can use to automate that process. You can even record using the script in an action and add a layer style to the layer. The action can be batch. The Watermark will be sized for the document for which it is place into.
Here is the script change line 3 through 6 to customize it for your use.
#target photoshop;
app.bringToFront();
var logoFile = "~/Desktop/JJMack.png"; // Watermark file should be large for resize down works better than up
var LogoSize = 10; // percent of document height to resize Watermark to
var LogoMargin = 1; // percent of Document height the Watermark should have as a margin
var BottomLetf = false; // false = Bottom Right true Bottom Left
placeWatermark(logoFile, LogoSize, LogoMargin); // Place Watermark into the bottom of the document
function placeWatermark(Image,Size,Margin){
if(!documents.length) return; // if no document return
try{
var doc = app.activeDocument; // set Doc object to active document
app.displayDialogs = DialogModes.NO; // Dialog off
var strtRulerUnits = app.preferences.rulerUnits; // Save Users ruler units
var strtTypeUnits = app.preferences.typeUnits; // Save Users Type units
app.preferences.rulerUnits = Units.PIXELS; // work with pixels
app.preferences.typeUnits = TypeUnits.PIXELS; // work with pixels
var fileObj = new File(Image); // the passed file
if(!fileObj.exists){ // If file does not exits tell user
alert(fileObj.name + " does not exist!");
return;
}
placeFile(fileObj); // Place in file the Watermark png file
activeDocument.activeLayer.resize(100 ,100,AnchorPosition.MIDDLECENTER); // Insure Place did not scale layer
var SB = activeDocument.activeLayer.bounds; // get layers bounds
var layerHeight = SB[3] - SB[1]; // get layers height
var resizePercent = (100/layerHeight)*(Size/100*doc.height.value); // Percent to resize by
activeDocument.activeLayer.resize(resizePercent ,resizePercent,AnchorPosition.MIDDLECENTER); // Resize width and height by percentage
SB = activeDocument.activeLayer.bounds; // get resized layers bounds
activeDocument.activeLayer.translate(-SB[0].value,-SB[1].value); // Move resized layer to top left canvas corner
var LayerWidth = (SB[2].value - SB[0].value);
var LayerHeight = (SB[3].value - SB[1].value);
marginSize = Margin/100*doc.height.value; // Margin size
// move resized watermark into the document lower right corner with some margin or lower left
if ( BottomLetf) {activeDocument.activeLayer.translate(marginSize,( doc.height.value -marginSize - LayerHeight));}
else {activeDocument.activeLayer.translate((doc.width.value -marginSize - LayerWidth),( doc.height.value -marginSize - LayerHeight));}
}
catch(e) { alert(e + ': on line ' + e.line); } // inform user of error
finally{
app.preferences.rulerUnits = strtRulerUnits; // Restore user ruler units
app.preferences.typeUnits = strtTypeUnits; // Restore user type units
};
};
function placeFile(placeFile) {
var desc21 = new ActionDescriptor();
desc21.putPath( charIDToTypeID('null'), new File(placeFile) );
desc21.putEnumerated( charIDToTypeID('FTcs'), charIDToTypeID('QCSt'), charIDToTypeID('Qcsa') );
var desc22 = new ActionDescriptor();
desc22.putUnitDouble( charIDToTypeID('Hrzn'), charIDToTypeID('#Pxl'), 0.000000 );
desc22.putUnitDouble( charIDToTypeID('Vrtc'), charIDToTypeID('#Pxl'), 0.000000 );
desc21.putObject( charIDToTypeID('Ofst'), charIDToTypeID('Ofst'), desc22 );
executeAction( charIDToTypeID('Plc '), desc21, DialogModes.NO );
};
Copy link to clipboard
Copied
I would love to use the watermark like that, except I have to change the name in it to match the animal's name every time. 😕
Copy link to clipboard
Copied
One note: there was a default change between CS6 and CC: when you have the Move tool selected, Photoshop CC defaults to Auto-Select Layer on. It's been there for years but defaulted to off. Try unchecking it and PS will move things like it used to.
Copy link to clipboard
Copied
OMG that worked! I feel so stupid now! LOL! Thank you so much BarbBinder!
Copy link to clipboard
Copied
Don't! That little change caught a lot of people off guard. Glad things are working for you again.
Copy link to clipboard
Copied
Also look to see if any of the layers are locked or linked to layers outside the layers you want to select. Try selecting the layers and making it a Smart Object. Then drag the Smart Object to the Library panel. The watermark will then be available from the Library for all projects going forward. I love CC Libraries for that reason.
Copy link to clipboard
Copied
I will try making it a smart object. Thank you.