CS4 Select—-> Modify behavior changed/broken?

NN
Posted By
Neil_N
Oct 28, 2008
Views
1065
Replies
30
Status
Closed
Hi,

In previous versions, I could Select—>All, then Select—>Modify—>Contract, which is very useful for creating frames, vignettes, etc. In CS4, after Select—>All, all of the Modify options are ghosted out (inactive) except Border, which is not at all the same as Contract.

Can anyone comment on this?

Thanks,

___
Neil

MacBook Pro 16” Mockups πŸ”₯

– in 4 materials (clay versions included)

– 12 scenes

– 48 MacBook Pro 16″ mockups

– 6000 x 4500 px

X
xrdbear
Oct 29, 2008
I can only comment that you are right. I tried this on my copy of CS4 and you can’t modify a ‘Select all’ selection. The only way I could find to carry on was to create a marquee 2 pixels less than the image in both axes, position it and then you can do all the usual mods.

What a pointless change.
NN
Neil_N
Oct 29, 2008
Yeah, I’ve been playing around with it more and it’s worse than I thought. If any part of any selection is on the edge of the canvas, the expand/contract will not effect it. It is interesting that this is how the feature is described to work in both the Cs3/4 help:

" Expand or contract a selection by a specific number of pixels

1. Use a selection tool to make a selection.
2. Choose Select > Modify > Expand or Contract.
3. For Expand By or Contract By, enter a pixel value between 1 and 100, and click OK.

The border is increased or decreased by the specified number of pixels. Any portion of the selection border running along the canvasΒ’s edge is unaffected."

So the assumption is that this feature was "broken" in Cs3, since you _could_ contract a canvas-bordered selection in that version? So they "fixed" it in Cs4? Hmmmm. I can see the point in not wanting to expand a selection beyond the canvas edge, but the contraction limitation? Pointless is the exact word I’d use, and another adjective that comes to mind is counterproductive.

This is a feature I used extensively. Bummer.

___
Neil
RP
Russell_Proulx
Oct 29, 2008
You can Select All and then use Transform Selection, link the H/W percentages and lower it to whatever works (e.g. 95%). It’s not as precise and repeatable as being able to type in a pixel value using Contract. But it might be a workaround until it’s perhaps fixed.

It does seem like a strange oversight that doesn’t make a lot of sense. I’ve used Ctrl+A -> Contract for stuff in the past and am surprised to find it missing since it’s always been there in the past.

Russell
NN
Neil_N
Oct 30, 2008
Russel,

Thanks for the reply. Yeah, I’ve already tried to use the method you suggested, but the problem is that the % is not consistent horizontally & vertically, i.e. 99%H/99%V yields a thicker border top & bottom. It’s very slow & a PITA to get it right compared to the old way. You can also expand the canvas, then select just the visible pixels, but that too has limitations and is also a PITA. There currently is no workaround I’ve been able to find other than to load the psd back into CS3 to do the kind of stuff I need to do to the frame/border. Not a good solution. I was really hoping someone from Abobe would weigh in on this topic, because I’m thinking this might really bug a good number of people once CS4 is in wide distribution…

___
Neil
JJ
John Joslin
Oct 30, 2008
Neil, there are other (and some might say better) ways to do borders.

"There are always at least 3 ways to do anything in Photoshop."
NN
Neil_N
Oct 30, 2008
John,

OK, I’ll bite. Have a look at this:

<http://www.d-v-tech.com/images/D300/DSC_7127-900.jpg>

Simple frame, you may or may not like it but that isn’t the point. If you can show me how to do this exact frame in fewer steps and with pixel-accuracy than I can do it with my current method which employs contracted selections, then you win, I’ll use your "better" way to do borders. And since I did say pixel-level accuracy, painted/brushed on frames don’t count. I know you can constrain a brush to H/V straight lines, but that doesn’t help me here.

BTW, Happy Halloween πŸ˜‰

(If you’re not in the US, I apologize. Google Halloween & it’ll make sense…)
JM
J_Maloney
Oct 30, 2008
Nice thing about layer styles: you can flex the colors and the thickness of the stroke roughly in real time. You can also drop these in a group or rasterize them at anytime. Now if you really want those rounded edges on the second black/tan transition, you’ll have to use an outer stroke, certainly a canvas size (relative) move would work. It’s all very actionable.

< http://www.pixentral.com/show.php?picture=1sTNN4YHM8KuTXCBR2 tS0egfbCKtDN>
JJ
John Joslin
Oct 30, 2008
Sorry, it was duck for dinner and I didn’t want it to get cold.

No strokes here, just "Canvas Size" and some effects.

Looks better full size.

3 minutes.

<http://img135.imageshack.us/my.php?image=sealox7.jpg>
PR
Paul_R
Oct 30, 2008
Yes it is broken in CS4, it works ok in CS3.
To get around the problem you can use:
Select – Modify – Border (1), Select – Inverse, Now Contract is available.
JM
J_Maloney
Oct 30, 2008
If you can show me how to do this exact frame in fewer steps and with pixel-accuracy than I can do it with my current method which employs contracted selections, then you win, I’ll use your "better" way to do borders.

I don’t think anybody here is talking about being better. The only "better" way for me is one that’s actionable, and based on the input file size, so I can process multiple images (which might or might not be the same size, orientation, etc). Now if your frame color is based on the image (picked color), I would think layer styles might be essential to a quick process, and much more important than the number of steps in your action. You could process 5 or 10 finished images in a batch, open them and pick the border colors. I would think seriously about having one tan stroke and one black stroke only, then (not two tans as per my example). But again, there’s three ways to process a group of files too.
NN
Neil_N
Oct 30, 2008
J & Josh,

Thanks for the great techniques, guys I do appreciate it. Here are the steps I’ve been using, which are, I believe, actionable, but since I can do it in 30 or 40 seconds, I haven’t bothered. Just lazy, I guess. Bear in mind, I don’t generally batch process, and every "frame" is a little different, so I haven’t canned this. This is a technique that I just concocted by necessity over the last year or so of processing photos. The bat is just one of a thousand variations/examples. So for that particular frame, if memory serves…

SHIFT-CTRL-N
CTRL-A
CTRL-ALT-[ (my shortcut for Contract Selection)
50 [ENTER]
SHIFT-CTRL-I
CTRL-ALT-D
1 [ENTER]
Choose Bucket Fill & pick a color & fill
CTRL-A
CTRL-ALT-[
30 [ENTER]
SHIFT-CTRL-I
CTRL-ALT-[
10
CTRL-ALT-D
1 [ENTER]
Choose Bucket Fill & pick a color & fill

(It looks longer on paper than it is, believe me.)

So if I were to create an action, I’d have 7 "input" variables I could play with. But without the action, I can also add or subtract steps to increase/decrease the complexity of the frame. I know you guys might disagree, but for me this is fast, and gives me a lot of control over the process, and an infinite variety of "one of a kind" frames I can season to taste. But the methods you propose are also excellent. Thanks. I still hope that Adobe will find it in their hearts to put this back the way it was…
JM
J_Maloney
Oct 30, 2008
One quick workaround would be an action that expands the canvas by two pixels relative and another that contracts it by 2. Then you could work the same way, just button the actions before and after this process (well between ctrl-a and ctrl-alt-[, and at the end of the day.

The advantage to stroked layer styles is the flexibility to fiddle these values "to taste" _after_ you run a quick for-all-images action. But then of course you find your taste starts to get lazy, right? πŸ˜‰

J
Nov 14, 2008
While Adobe is (re)thinking, take a look at this script: < http://morris-photographics.com/photoshop/scripts/contract-s election.html >

The CS2/3 version works well for me, a bit slow, though. Scripting is probably not as fast as native code.
MR
Mark_Reynolds
Nov 15, 2008
Β… No when activating a script, it has to read the script from the disk each time.
NN
Neil_N
Nov 15, 2008
Guys, thanks again for the feedback.

Frank, excellent find. That will hold me over just fine until this gets adobe’s attention, if it ever does. It’s a little slower than the native contract function in CS3, but a _lot_ faster than working back & forth between two photoshop versions…
A
aMaDeO
Dec 3, 2008
* sigh* Adobe has not come up with any fix on this bug yet πŸ™
JR
John_R_Nielsen
Dec 20, 2008
Select > All
Enter Quick Mask
Select > All
Edit > Stroke (inside)
Exit Quick Mask

Selection is now contracted.
DE
darren_eiswirth
Feb 15, 2009
Adobe is literally killing the several thousands of web developers & designers who use photoshop to build graphics for the web.

Seeing how Adobe and the WWW are synonymous, I would have thought Adobe would have had this fixed by now.

The contract tool was an easy way to get a good solid border – the "frame" tool sucks because it gives too soft of an edge. We shouldn’t HAVE to do work-arounds. That’s a lame cop-out.
JJ
John Joslin
Feb 15, 2009
You can contract in "Refine Edge".
JR
John_R_Nielsen
Feb 15, 2009
Adobe is not literally killling anyone. Metaphorically, perhaps.

The method I posted can be easily made into an action, and assigned a hot key.
F
Freeagent
Feb 15, 2009
You can contract in "Refine Edge"

The problem is that it no longer works from the canvas edge…it’s stuck there…

Seems the only way is to go via inside stroke.
MP
Mark_Phell
Feb 15, 2009
I select all + contract often. It’s strange that they’d make such a breaking change, instead of just adding a "preserve canvas edges" checkbox to these dialogs.
JJ
John Joslin
Feb 15, 2009
"Just" ? 8o
MP
Mark_Phell
Feb 16, 2009
Call adding a parameter to selection modification massively complex if you want, but it’s pretty far down the scale.
KJ
Karla_J
Mar 17, 2009
I hope you don’t mind me borrowing your thread.

I got the same problem. I have a blog that i do all my pictures for in this manner:

Ctrl + A

Contract 10 px

SHIFT + F7

Delete

Then go to blending options, Shadow + stroke.

so what i want todo is remove 10 px all around the picture so i can get transparency for the dropshadow.

So any idea how to make this now that contract is gone?

Thanks for the help (sorry for my bad english)
NN
Neil_N
Mar 17, 2009
Karla,
I don’t mind at all, that’s why I started it πŸ˜‰

The fact is there is no workaround that I can find that works _exactly_ like the functionality in CS3. So those of us who used that _exact_ functionality in our workflow and don’t want to incur extra time/keystrokes/different results are out of luck. The action further up the thread is good, but has the annoyance of being slow & filling the undo history w/ many extra steps, etc. And no one has seen fit to comment in an official capacity as to why something that wasn’t broken needed to be "fixed" in this version. Maybe I missed it, but I never heard anyone complaining about the modify selection behavior in CS3, so what genius took it upon him/herself to touch that portion of the code? And no, it’s not a monumental task to put it back the way it was. Could have easily been done in the recent upgrade if anyone was listening and/or gave a
KJ
Karla_J
Mar 17, 2009
Agreed Neil, I don’t understand how it was "Broken". I loved that feature and for me it’s essential. Now what I do is I have a macro that I recorded, but as you said it’s extra steps.

I CTRL + A, stroke with bright green (lime?) , Magic Wand, select the green space + delete..

Oh well, hope they "fix" it or someone come up with a solution. =)
RP
Russell_Proulx
Mar 17, 2009
You can do it with an action:

Start recording

1) Double click background to convert to layer (Layer 0)

2) Add layer mask

3) Click on layer mask and select all (Ctrl+A)

4) Choose Stroke -> 5px -> Inside (black colour)

5) Add new layer (Layer 1)

6) Select ‘Layer 1’ and choose Merge Visible (Ctrl+Alt+Shift+E)

7) Click back on ‘Layer 0’ and delete the layer

You will have created a 5px layer mask that erases that about all around and then created a new layer without the mask.

To align the result in a corner you could select ‘Layer 1’ and ‘Layer 0’ and use the align functions in the Move tool to ‘left’ and ‘top’ justify your trimmed image before deleting ‘Layer 0’. You’ll then end up with -10px trimmed off of the right side and the bottom.

Once you get the Action working properly you just use it in a batch process.

Hope this wins the prize πŸ˜‰
KJ
Karla_J
Mar 18, 2009
Awsome! what knowledge can do thanks a million! 8 steps todo the same that Contract did *hihi*

thank you Russel!
RP
Russell_Proulx
Mar 18, 2009
How to make the macro assigned to a key?

(Button mode off) From the callout menu of the action you wish to assign to a keystroke to, you will find "Action Options" where you can assign it to a Function Key.

I read this old thread in its entirety only after posting my reply and found that methods similar to mine were already posted by 2-3 others. I kind of hate this resurrecting of old threads where you only see the original question and 1-2 recent replies. I missed the fact that it had already been answered months ago..

Ok well… glad I could help πŸ™‚

Must-have mockup pack for every graphic designer πŸ”₯πŸ”₯πŸ”₯

Easy-to-use drag-n-drop Photoshop scene creator with more than 2800 items.

Related Discussion Topics

Nice and short text about related topics in discussion sections