16 Replies Latest reply: Jul 7, 2011 2:25 PM by FunkmastaFlash RSS

    Select > Modify > Border always feathers

    FunkmastaFlash Community Member

      Hi All,

       

      Apologies if this has already been discussed somewhere previously, but I'm getting very frustrated that I can't seem to easily accomplish what should be a very simple task:

       

      I am using CTRL+A to "Select All" and then trying to contract the selection by X pixels. Apparently my only option after a Select All command is to use the "Border" command, but this always seems to feather the selection, no matter what I do. I know there are some "workarounds" to get the selection I want, but seriously, this is so dead simple of a task I'm going bonkers here.

       

      Is it just me or did this used to be a lot easier in earlier versions of PS? Seems to me that in CS5 Adobe is trying to get "fancy" with their UI and making things a lot harder than they need to be.

       

      Could someone from Adobe let me/us know why the UI is making it impossible for me to do a simple Select > Modify > Contract command (following a Select All)? I distinctly remember being able to do this without hassle in every other version of PS I've ever worked with.

       

      Your in Frustration,

      Funkmasta

        • 1. Re: Select > Modify > Border always feathers
          MTSTUNER Community Member

          Since i'm just a user like yourself, i can't say whether or not the contract command

          after select all will ever work in future versions of photoshop, but i can give you a link

          to a script that will work now.

           

          http://morris-photographics.com/photoshop/scripts/contract-selection.html

           

           

           

          MTSTUNER

          • 2. Re: Select > Modify > Border always feathers
            arc fixer Community Member

            Howdy.

             

            Is it just me or did this used to be a lot easier in earlier versions of PS?

            It's not just you. It's pretty easy in CS3.

             

            SELECT.jpg

             

            The screenshot is after Ctrl+A has been applied. The Contract command is still active. And the selection will not be feathered.

             

            According to MTSTUNER's link (thank you), CS3 is the only version that will do this. Sometimes it's good to be behind the curve.

             

            Maybe the referenced script will fix you up. I don't know anything about scripts, but I do know a little about actions. So out of curiousity, I hacked together an action which should work in CS5. It's based on expanding the canvas, contracting the selection, then cropping back to the original size. It looks like a long way to go to accomplish something so simple, but Ps does it all in the blink of an eye.

             

             

            CONTRACT SELECTION 2.JPG

             

            1. Merge Visible (Ctl+Alt+Shft).  This creates a proxy for the original image size after the canvas is enlarged. This layer will be deleted at the end of the action.

            .

            2. Canvas Size. I set it to 105% in both axis. The percentage doesn't matter, as long as it's more than 100. The point it to get the canvas border away from the proxy border.

             

            3. Set Selection. Ctl +Click on the thumbnail on the proxy layer. This will select the perimeter of the proxy layer, which is the same as the original canvas.

             

            4. Contract. Menu>Select>Modify>Contract. Enter the number of pixels. This can be changed later. As you can see in the screen shot above, I have made this a conditional action. It will stop here for you to approve or change the settings. When you hit enter, the action continues.

             

            5. Layer Via Copy. This layer preserves the contracted selection. It's really being used as a channel. This layer will also be deleted at the end of the action.

             

            6. Set Selection. Ctl+Click on the thumbnail for the Merge Visible layer from step 1.


            7. Crop. Menu>Image>Crop. The image is now the original size.

             

            8. Set Selection. Ctl+Click on the layer thumbnail created in step 5. You should now be looking at the contracted selection. We're done, except for a little housecleaning below.

             

            9. Delete. Delete the top layer, which should be the contracted channel. (This doesn't affect the selection.)

             

            10. Delete. Delete the top layer, which should be the Stamp Visible layer. Now we're back where we started, but we have a contracted selection.

             

            Stop Recording.

             

            It may look ridiculous on paper, but it works like a charm, so far as I've tested it. And the beauty of actions is you only have to make them once. No matter how much trouble they are.

             

            Once the action is made, it's quick and easy to use. Just click on the action button.

            CONTRACT SELECTION 3.JPG

            The contract pixel dialog box appears.

            CONTRACT SELECTION 4.JPG

            OK or change and OK, and you're done. The selection appears at the desired location, and is not feathered. In practice, the only downside is you get a few extra history states.

             

            You get where you're going, and you get there quick. So quick no one will notice you got there via Paris, London, and El Paso.

             

            I'm not 100% sure this will work in CS5, as I've never laid eyes on it, but the issue seems to be that when the selection touches the canvas border, Contract Selection is not available. Nowhere in the action does a selection touch the canvas border, so it should work the same as it does in my CS3. If you're interested in testing it, I can send you the Droplet, or you can create it from scratch using the instructions above.

             

            Anyway, that's all I got, and it could all be wrong.

             

            Peace,

            Lee

            • 3. Re: Select > Modify > Border always feathers
              Semaphoric Community Member

              This is how I do it:

               

              1. Select all.
              2. Enter Quick Mask mode; use "Color indicates selected area".
              3. Select all.
              4. Edit > Stroke (Width = amount to contract, Location =  Inside; Color = white (255, 255, 255).
              5. Exit Quick Mask mode.

               

              The selection is now contracted with a sharp edge.

              • 4. Re: Select > Modify > Border always feathers
                Paulo Skylar Community Member

                I typically will do a:

                Select All

                Select > Transform Selection

                Specify the size in the option bar (or pull on the box handles) & hit return.

                 

                Paulo

                • 5. Re: Select > Modify > Border always feathers
                  Noel Carboni Community Member

                  I would love to hear from Chris or someone in Adobe why the Contract function was changed to be incapable of moving a selection edge away from the canvas edge in CS4 and above.  That's got to be the root reason why the Contract function is now grayed out after a Select All.

                   

                  Note that this selection...

                   

                  Sel1.jpg

                  ...becomes this selection after a Contract 100px operation...

                  Sel2.jpg

                   

                  What possible good does it do to not allow a selection to shrink away from the canvas edge?  To me that seems way inconsistent.

                   

                  -Noel

                  • 6. Re: Select > Modify > Border always feathers
                    Semaphoric Community Member

                    Here's the reason (from Photoshop.com ):

                     

                    The reason that some people like the way it works now (which is the way it worked in every version except CS3), and objected when we changed it in CS3, is this: They are making a selection of something within the image that touches one or more edges -- a sky or building, for instance. They then expand, contract, smooth, and / or feather the edge, in preparation for using the selection as a mask on an adjustment layer to darken the sky or blend another image over the building, for instance. If the selection is also modified along the edge of the image, an unwanted border is created along the image edge (a light line along the top of a darkened sky, for instance).

                     

                    So the reason that those commands are disabled is that since selection edges along the image edges aren't affected by those commands, those commands wouldn't do anything at all in the "select all" case, since *all* the selection edges correspond to image edges.

                     

                    With the CS3 behavior, where feathering or shrinking modified all edges of a selection, even if they were at the edges of the image, correcting the resulting selection along the edge of the image requires hand-painting or hand-selecting those pieces that touch the edge to get rid of the unwanted shrinkage, smooth-age, or feather-age.

                     

                    Avoiding the problem in the first place requires making the selection, then switching to quick mask mode, and using Filter->Other->Minimum... or Filter->Other->Maximum... or Filter->Blur->Gaussian Blur instead of Contract, Expand, or Feather selection. (I actually don't even know off the top of my head how to do smooth).

                     

                    Any actions that modified a selection no longer worked properly if the selection touched the edge of the image.

                     

                    So this is another one of those cases in Photoshop where the "right" way for something to work depends on which way you look at it. Are you trying to make borders with selection commands, or are you trying to modify selections of objects in your image that happen to touch the image edges?
                    • 7. Re: Select > Modify > Border always feathers
                      Noel Carboni Community Member

                      I hadn't realized it was a CS3-only change.  I have to say I liked the way it worked in CS3.

                       

                      So basically they're covering up the fact that sometimes a selection can go beyond the edges of the canvas and sometimes it can't, so Photoshop can't differentiate a selection made right TO the edge and one made beyond.

                       

                      I have to say, Photoshop is all over the map regarding what to do about data beyond the edges.

                       

                      Assuming enough people want it one way, and enough want it the other way, why not add a "Select - Modify - Shrink" entry to allow those who like to be able to pull selections in from the edges to have their functionality too?  Clearly the code already exists (go dredge up the source from CS3).

                       

                      Or just add the capability to create channels with data that goes past the visible edges of the canvas by saving selections.

                       

                      -Noel

                      • 8. Re: Select > Modify > Border always feathers
                        Chris Cox Adobe Employee

                        I have to say, Photoshop is all over the map regarding what to do about data beyond the edges.

                        Yes, that's what I tried to fix in CS3.

                        But someone else disagreed with the fixes, because one trick that abused the bugs got broken by the fix.

                        • 10. Re: Select > Modify > Border always feathers
                          Andrew_Hart Community Member

                          Semaphoric,

                           

                          re your post no 6, in a later post from the photoshop.com thread, Mama Shan Canfield posted a simple workaround thus:

                           

                          1. Select All
                          2. Select>Modify>Border -- Choose 1 pixel
                          3. Select>Inverse (and at this point ALL the Select Modify options are available)
                          4. Select>Modify>Contract (or any other options you need).

                          • 11. Re: Select > Modify > Border always feathers
                            Semaphoric Community Member

                            But this produces the feather that the OP is trying to avoid.

                            • 12. Re: Select > Modify > Border always feathers
                              Andrew_Hart Community Member

                              That's odd.

                              I followed the recipe and could not detect any feather.

                              Will have another look at it after some sleep.

                              • 13. Re: Select > Modify > Border always feathers
                                Noel Carboni Community Member

                                You'll get a 1 pixel feather.

                                 

                                Try this:

                                 

                                1.  Create a white document.

                                2.  Select All.

                                3.  Select - Modify - Border - 1 pixel.

                                4.  Select - Inverse.

                                5.  Bucket-fill the selected interior with black.

                                6.  Zoom in close on one of the corners.  This is what you'll see.

                                 

                                OnePixelFeather.jpg

                                 

                                -Noel

                                • 14. Re: Select > Modify > Border always feathers
                                  Semaphoric Community Member

                                  Uh, nuthin' to read here. . . move along, folks . . .

                                  • 15. Re: Select > Modify > Border always feathers
                                    Andrew_Hart Community Member

                                    Yep, Semaphoric and Noel are correct.

                                    Using Noel's new white document example, I got, after contracting the selection some 15 pixels, the distinct grey transition indicating feather.

                                    For total accuracy this is obviously unacceptable.

                                    • 16. Re: Select > Modify > Border always feathers
                                      FunkmastaFlash Community Member

                                      Thanks everyone for your responses, especially to MTSTUNER for the link and arc fixer for the detailed reply.

                                       

                                      Also it's too bad that Chris's fix got shot down, apparently CS3 was the most usable version for me.

                                       

                                      It kills me that I need to install a 3rd party script to accomplish something that should be easily done natively. It sounds like Adobe is having some issues deciding which group of customers to support. I for one plunked down $1,700 for an entire software suite only to discover one of the main things I tend to do in Photoshop is no longer supported. I'm a Flash developer and I use PS mainly for editing bitmap art assets-- so the range of things I do with it is quite limited and thus even more frustrating when it doesn't work the way I need it to. For instance, how am I supposed to run a batch process on 100 images when my "contract selection" command is itself a recorded action (as suggested by arc fixer)?

                                       

                                      In this case I hope Adobe could at least add a "no feather" option to the Modify > Border command, so I can get a clean selection with it. I mean seriously, at least give us the option to get a nice selection.