Skip to main content
Known Participant
August 17, 2023
Question

Are crisp shaped shapes still possible?

  • August 17, 2023
  • 4 replies
  • 2888 views

Hello, I believe ever since switching over to the cloud version of photoshop I've never been able to get shapes to have crisp edges anymore. They all have a 1pixel blurry edge around all 4 sides. 

Even if I left-click the canvas and create a shape with dimensions like 100x20, all 4 edges have a blurry "un-crisp" edge


This kind of defeats the purpose of using a shape/vector. The only way to get a crisp edge now out of the shapes tool is to create the shape then transform it. The transforming snaps it back into crispyness. 

 

Is there a "legacy shapes" option? Or some setting in photoshop to make shapes be crisp as they should?



Im attaching a screenshot to illustrate this. The black box was created with dimensions 100x20 and it still ends up looking pixelated. 

This topic has been closed for replies.

4 replies

Community Expert
August 18, 2023

There's a setting in Preferences - not sure if this helps you, but here it is:
Preferences > Tools > Snap Vector Tools and Transforms to Pixel Grid

Known Participant
August 18, 2023

hey @Kenneth Kawamoto there was indeed a miscomnunication but not how Fosse suggests. I actually already have Snap Vector Tools and Transforms to Pixel Grid selected, and the screenshot I shared in the beginning is actually a buggy/erroneous way that Adobe shows positions in this scenario. 

Just to explain, so everyone can learn, the shape in my screenshot is actually positioned on 615px, but like dave and jane explained, since there is a 1px center stroke applied, Adobe basically applies a "0.5px" stroke to either side of the line, resulting in "614.5px." which you see in the screenshot

Now, thats not actually true in two ways. 
Way 1: The box is actually positioned at 615px, but when you view the layer it shows 614.5px because of the "0.5px" stroke applied to either side. 

Way 2: It's not actutally 614.5px either, thats a lie, because its not actually applying a 0.5px stroke as dave and jane clearly explained. 
What its actually doing is applying a 1px stroke to either side with 50% of the color assigned, meaning it actually grows a full 1px to 614px, and thats what it should display, instead of 614.5px.

 

Just to get technical, and expand more on this weirdness, if  I had the shape positioned at 614.1px with 1px center stroke, I'd end up with the same 614px final product, but the 1px on the left would be 90% black while the 1px on the inside would be 10% black. The gimpy stroke fill is directly related to the X position and the offset from a whole number.

Seems like lazy coding/engineering.

 

This should be considered a bug, and a failure by Adobe, whether the "community experts" want to admit it or not. To suggest this is "as it should be" is ludicrous, and a slap to every professional out there.

 

You can explain 'why' its this way, thats fine, and I understand now 'why', but dont pretend it 'should be' this way.  Especially considering photoshop use to handle shapes and any position just fine. 

davescm
Community Expert
Community Expert
August 19, 2023

Still no bug, but some misunderstanding in your last post.

This is how it works, I have shown the coloured background so the pixel grid shows up in the screenshots, each rectangle has no fill and a 1px stroke:

1. With Snap Vector tools to pixel grid on, the vector path (a vector path has no width) is drawn on the borderline between pixels. It is done that way as a vector path is commonly used in Photoshop to select pixels.

 

a. With the 1px stroke centered it uses semistransparent pixels at each side of the path to simulate a 1 px stroke using the two adjacent pixels to the path

b. Stroke inside looks like this, a solid 1px stroke but drawn within the path:

c: Stroke outside like this, a solid 1px stroke drawn outside the path:

 

d. Stroke centred but align edges checked look like this, a solid 1 px stroke drawn drawn to the right of and beneath the rectangle - effectively keeping the path size but adjusting the position to fit on the pixel grid. 

 

2. With snap vectors to pixel grid unchecked, the path can be placed between pixels. I have placed it a third of a pixel down and to the right of the previous example

 

a. With stroke centered it is drawn using partially transparent pixels either side of the path and the transparency is indeed varied in transparency on each side

b. With the stroke aligned 'inside' 2 pixels are used both with adjusted transparency to simulate a 1px line placed at 1/3 of a pixel

 

c. With the stroke aligned outside then partially transparent pixels are used to simulate the 1px stroke

 

d. With the stroke centred and Align Edges checked a 1px stroke is drawn aligning to the pixels within which the path is drawn

 

All of this is predictable and controllable by choosing the options appropriate to your use case. It is not a 'ludicrous' interpretation by those answering in these forums, as you suggest above, or 'lazy coding/engineering'. It is simply the result of choices that have to be made when adding a vector function to a pixel based document.  Hence my comment earlier that if you need an exact stroke on a vector regardless of zoom level, or position, then you should use a vector based editor such as Adobe Illustrator which is not constrained by the need to use pixels in the document.

 

You also said '.... photoshop use to handle shapes and any position just fine.' Photoshop has not changed its handling of vector shapes.

 

If you do want to raise an idea, then do so describing exactly what additional option you would want to see and what benefit it would bring . I would advise you though to avoid insulting the developers that may look at it to see if it has merit

 

Dave

 

Known Participant
August 17, 2023

Just take this screenshot as an example that something is seriously wrong with photoshop.

Select Shapes tool > Left click canvas > Assign 100 x 20 px size > and since photoshop loves to auto-add a 1px border that I never asked for, this is how it appears. The 1px border just exagerates how bad and ugly the edges of a shape are.

 

It's weird. I was trying to test if this only when i click to create, or always drag and drop create.

In one document it happens every time, 0.5 pixel position, every time, no matter where I click, no matter if i click to create or drag and drop. In a different document, repeating the steps actually gives me a perfect whole number every time no matter what?

Now I'm confused why one document only deals in .5 pixels and the other only works in whole numbers when creating shapes


Edit: oops forgot screenshot

 

 

davescm
Community Expert
Community Expert
August 17, 2023

Photoshop does not add a border that was not asked for, it adds a stroke based on the settings in the option bar.

 

If you ask for that stroke to be align centred in stroke options (for stroke options click on the reveal arrow next to the line in the options bar) then it tries to place a 0.5 pixel stroke at each side of your vector path and, as half pixels do not exist, it uses semi transparent pixels.

 

However, if you choose Align inside or Align outside then you get a perfect 1 pixel solid stroke either inside or outside of your vector path.

Alternatively, you can leave Align centred and click 'Align Edges' in the option bar. That will move the edges to the nearest full pixel.

 

There is no bug here to fix

 

Dave

 

jane-e
Community Expert
Community Expert
August 17, 2023

@Callingoutn3rds 

What is your Zoom level? Does the shape look okay at 100% zoom?

 

Jane

Known Participant
August 17, 2023

@jane-e  I can see it on every zoom level, though its less noticable zoomed out

 

But @Kenneth Kawamoto you are actually 100% right! Whole pixel position looks like it DOES fix the blurry edge. Never noticed that before! Makes sense why [Ctrl + Transform and nudge it once] fixes this also, since transform only works with whole numbers (that's something i miss about old photoshop)

 

I will jsut say adjusting the horizontal position to a whole number only fixes left/right, I have to adjust the Y number as well to get 4 clean edges. I think at that point the quicker way is still to [Ctrl + T and nudge transform by 1px], which is still kind of annoying to deal with. 

It's worth mentioning that a Rasterized layer has no problem with 0.5 pixel positions. It scoots into position just fine with no loss of quality to the edges. Where as a Shape, basically a "vector" element (supposedly held in the highest regard), cannot handle 0.5 pixel positions. That seems backwards at the very least. 

There. has. to. be. a. better. way. 

davescm
Community Expert
Community Expert
August 17, 2023

Photoshop always works in pixels. Vector layers (shapes) are converted to document pixels for display and composting. Each pixel has a single value - there are no half pixels. If a vector shape is positioned, or sized, to require a partial pixel then Photoshop uses semi- transparent edges to simulate that 'half' position. 

All looks normal in that screenshot. You can make this less obvious by using more pixels in the document but that will depend on the output needs.

 

If you require, sharpness regardless of size or zoom level then don't use a pixel editor, use a vector application such as Illustrator.

 

Dave

 

Community Expert
August 17, 2023

If you place your rectangle to a whole pixel position rather than half pixel would it work?