Photoshop does have Edit > Paste special > Paste into
, but this doesn't resize the image to the selection.
It is however possible to do it by creating an Action
in the Window > Actions
panel.
Or it could be done with a script. Script would give you more freedom to do exactly what you need it to do.
Before you start reading the rest of the post, I made an action that places image into the selection.
Here's the action in use:
Since the action is super long, I figured I'd share the action file as well.
Paste Into Selection.atn In hindsight, I should have called it "Place into selection"
Download at your own risk.
...or create the action yourself:
- Make your selection. ( It doesn't have to be a rectangular selection. )
- Start recording the action...
- Make a new layer.
Layer > New > Layer...
- Don't name it.
- Fill it with black
Edit > Fill...
- Contents: Black
- Mode: Normal
- Opacity: 100%
- Make a Layer mask
Layer > Layer mask > Reveal selection
- Select RGB channel
- Click the layer thumbnail
- Select the whole document
Select > All
- Copy
Edit > Copy
- Delete layer contents
- Mac: Backspace Windows: Del
- Make a new document
File > New...
- Don't change thewidth
andheight
.
- Place the image
Place embedded...
In older PS versions this is calledPlace...
- Then just place in any image.
- Select the whole document again
Select > All
- Copy the image.
Edit > Copy
- Close the document.
File > Close
- Unlink the layer mask.
Layer > Layer Mask > Unlink
- Create selection from the Layer mask.
- Right-click the Layer mask thumbnail and select
Add mask to selection
- Paste in the image
Edit > Paste
- Re-link the Layer mask to the layer,
Layer > Layer mask > Link
- Stop recording the action.
- In the
Actions
panel, click the empty box on the left side of the place command.
- This makes sure that PS stops to wait until you select the image you want to place. Otherwise it'll just place the image you placed during the recording.
When you run the action and the image is placed to the new document, you will have to resize the image a bit to fill the document, which is the exact size of the selection. This way you fill the whole selection.
If you just want to fit the image to the selection, then you can just press Enter to apply the transformation and the action will continue.
You may want to edit the action to fit your needs more specifically.
For example, after step 10
, you might wanna run Image > Canvas size...
, and with the Relative
checked, add some padding by making the document bigger.
This way you would have more slack, when the image is pasted in to the main document.
You can record new functions to the action with the record button.
If you are planning to use this often, you can set a hotkey to launch the action. Sadly the hotkey options for Actions are very limited.
You can however get around it by making a script that launches the action. You can give scripts way more versatile hotkeys and you can even override PS hotkeys.
Just make an exmpty file called Paste In Place.jsx
and put in this:
doAction ('Paste into selection', 'My Actions');
This code assumes that the action name is
Paste into selection
and that the action is in a folder calledMy Actions
.
After 'installing' the script to the PS scripts folder and restarting photoshop, you can find it in the: Edit > Keyboard shortcuts...
. Just expand "File" and scroll way down to find the script and give it a hotkey. For example, I set mine to: Cmd+Alt+Ctrl+V