In dealing with web(72dpi), print(300dpi) and large format print(150dpi), I'm running into a lot of manual labor trying to update files that have smart objects at various resolutions. Recently I had been working on assets that were designed at 300dpi, that were supposed to be 150dpi, and smart objects inside were either 72dpi or 300dpi. In updating the smart object to the correct resolution, the layers of course change size now that they are at the correct resolution. What I've been doing is transforming the smart object to copy a measurement in inches from the bar, editing contents of an SO, changing resolution to 150dpi in image size(no resampling), save SO, update SO, close SO, transform, paste copied measurement. I have an action for the middle part of this, but selecting copying and pasting still have to be done manually, as well as if the SO has a mask I have to drag to another layer first to ensure I'm getting the right measurement. Ideally, Adobe would change the behavior of smart objects so that they would read pixel information of the SO(similar to Illustrators behavior with raster graphics) rather than the size at the resolution of the SO, and not the parent doc. The minute the resolution changes in the parent doc the embedded/linked SO are incorrect again. The script would ideally loop and update all smart objects in a file, including nested SOs within SOs, and spit out a report dialog or text file with changes. However, if it can only be done with the selected layer that'd still speed things up. Anyone have any thoughts on how to achieve this? While I do script in Photoshop and Illustrator, I have not yet worked with SOs. I'm in PS 2015, but have also tested the behavior in 2017 and it still shows the same mismatch and potential loss in image quality
... View more