Oddly, I can't even find any discussion on this anywhere... There's got to be a better way than what I've tried so far.
At present the only way I've found is to
duplicate the smart object
select the part to fill
do the content-aware fill
leave the selection on and copy/paste the selection so it's on a new layer
delete the rasterized copy of the smart object
There's gotta be a better/smarter/faster way than this... How are other people doing this?
I'm not sure if this will resolve the issue, but try:
- Place the image first
- On Layers panel, use Command + J to duplicate it. (Lock the original layer and work from duplicate).
- From the top menu options, go to Layer > Smart Objects > Rasterize
- Select the area you'd like to fix using Lasso or Patch tool, until 'marching ants' are activated
- Edit Fill should now be usable!
Hope you see this response.
you are a genius, just made my day!
What this all boils down to, is that you can't edit the pixel content of a smart object. The reason this is so, is that a smart object doesn't contain pixels at all - it's just a reference to another, separate file.
To edit the content, you can do one of two things:
- you can access that other separate file contained within the smart object. You do this by double-clicking the smart object icon, so that it opens in its own separate window. Then you can edit the content.
- Or you can rasterize it, in which case it's no longer a smart object.
To use a metaphor, a smart object is a mirror. You see it, but you can't reach out and touch what you see.
Alternatively after extending your canvas,
1. Add a new layer at the top
2. Select the blank area of the image
3. Use the patch tool set to content aware and "sample all layers" to fill the gap on the empty layer