Photoshop: Enlarged Raster Smart Objects that contain vectors appear as resized bitmaps

  • 1
  • Problem
  • Updated 5 years ago
  • (Edited)
In Photoshop CC for Mac I have...

• Created layers of vector art
• Combined them into a smart object
• Enlarged the smart object (both via "Transform" and "Image Size")

Upon enlarging, the vector objects look the way an enlarged bitmap would (i.e. fuzzy, pixelated, terrible) instead of crisp and clean as a vector should look. I've double- and triple-checked to make sure all layers have remained vector after resizing and they have.



Photo of Joseph Rivera

Joseph Rivera

  • 35 Posts
  • 2 Reply Likes
  • angry

Posted 5 years ago

  • 1
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 818 Reply Likes
Why did you post this in both forums?

That's not a bug - you put some vector shapes inside a raster file, and scaled that raster result.
(putting skateboards inside a semi does not mean that the semi can do skateboard tricks)

A vector smart object would need EPS, PDF, or AI data - which would then be rasterized at the specified size/resolution/transformation.

Anything inside a raster file is a raster image, and gets transformed as a raster image.

In short, the "bug" that you are describing is perfectly expected behavior.
Photo of Joseph Rivera

Joseph Rivera

  • 35 Posts
  • 2 Reply Likes
I posted it in the main forum because I was hoping a user would have an answer. I posted it here because Adobe staff always complain that a bug report wasn't posted.

Why are you so rude to your customers?
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 818 Reply Likes
We read posts on both forums, and only rarely request that reports be copied to another forum.

Why are you seeking rudeness where none exists?
Photo of Joseph Rivera

Joseph Rivera

  • 35 Posts
  • 2 Reply Likes
Trust me, I'm not seeking rudeness. I'm just seeking an answer. If I misread your tone, I apologize. I've seen some pretty nasty staff behavior on the Adobe forums, so it is a learned reaction. I no longer have CS6 installed, but I'll trust you that this is how it worked. I must have always been resizing vectors directly in my layers palette and not in Smart Objects.

Since you wrote the Smart Objects feature, let me rephrase this as a question:

When the image is scaled and I edit the smart object in the resized document, all the layers are still editable vectors. If the layers are still vectors, why isn't the smart object recognizing that and re-interpreting itself cleanly using the vectors? It's an odd behavioral mis-match.

If you can change this post to a feature request, that would be fine with me. This would be a hugely useful feature, especially in the age of designing for devices with widely varying pixel densities. Not being able to count on vectors remaining vectors is a tough limitation.
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 818 Reply Likes
My tone is more educational, or slightly bemused (as in "how did someone think that could work?" and "Could I get Mythbusters to put someone on the back of a semi in a giant halfpipe?").

The child smart object document/file has to be rasterized, color converted, transformed, and filtered before it is composited with the parent document. It doesn't matter what data is inside the raster file - the result is a raster image because it is inside the raster document. There is no mismatch because the file (in this case PSD or PSB) is a raster file. All the bits that went into making the child file (pixels, vectors, other smart objects, styles, etc.) don't matter, because the result of rasterizing the child file (at it's defined size, resolution, mode, depth, profile, etc.) is all we have to work with.

To preserve the vector nature of objects in the child document/file, it would have to be a vector file (EPS, PDF, AI). That could then be rasterized at any size and transform (within the limits of vector smart objects).

Does that help?

And as a feature request, I'm afraid this would come under the heading of "not even possible". It could be rephrased into "want instanced vector layers", or "want another file format for vectors that can be created directly from photoshop" (because PDF, EPS and AI can't reproduce all the vector features of Photoshop exactly) - but neither of those are exactly trivial. As always, the more we know about what you are trying to accomplish, the better chance we have of delivering something that solves the problem.
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 818 Reply Likes
Also note that most of the staff behavior on the Adobe forums is pretty good (we do a lot of self policing).

The problems are generally with some of the "regulars" who are not Adobe employees. We try to keep the discussions clean and on topic, but it is a public forum and well, we get all kinds.
Photo of Joseph Rivera

Joseph Rivera

  • 35 Posts
  • 2 Reply Likes
Hmm... I see. I think the disconnect (from a user standpoint, before your technical explanation) was that I could scale up normal vector layers and they'd re-rasterize cleanly and so my expectation was that a scaled smart object would also re-rasterize cleanly using the original contained child elements.

I realize now that when I've use vectors in smart objects in the past I've always been starting from the highest target screen resolution and scaling down from there, so I never saw what happened when scaling up. That's why I thought it was a bug when I saw it earlier for the first time. Oh well, smart objects are rasters, now I know and will use accordingly.

Feel free to close/delete my posts if you're able to.

Thanks, Chris.
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 818 Reply Likes
Would you mind if we left this here? I'm positive that someone else has or will have the same misunderstanding.

Yes, scaling the vector shape inside the same document re-rasterizes that vector inside that document, with all the vector goodness preserved. But a raster smart object: think of it as a flattened PSD, with the vectors smashed into pixels.

And yes, working at high res and scaling down is a good way to deal with it -- until single pixel lines disappear (don't scale down more than 2x if using single pixel lines).