Dus ik had genoeg van deze ergernis en maakte een omweg.
Het bestaat uit twee delen:
- Een klein hulpprogramma dat ik schreef om de afbeelding op het klembord op te slaan in een .png bestand
- Een AutoHotKey script
Het AutoHotKey script controleert of Photoshop op dat moment actief is, en als dat zo is onderschept het de Ctrl
+V
toetscombinatie, en dan voert het het hulpprogramma uit.
Als het hulpprogramma een afbeelding heeft opgeslagen in %TEMP%\clip.png
, wordt de toetscombinatie Shift
+Ctrl
+F12
naar Photoshop gestuurd, die ik heb gekoppeld aan een Photoshop Actie om het clip.png
bestand in het huidig geopende document te plaatsen.
Als het hulpprogramma de afbeelding niet heeft opgeslagen, wordt de standaard Ctrl
+V
toetscombinatie naar Photoshop gestuurd en wordt een standaard plakbewerking uitgevoerd.
Alle broncode is hier beschikbaar: https://github.com/SilverEzhik/ClipboardToPNG , en het hulpprogramma kan hier worden gedownload: https://github.com/SilverEzhik/ClipboardToPNG/releases
Om de Photoshop-actie te maken, maakt u een nieuwe actie met de toetscombinatie Shift+Ctrl+F12 (of wijzigt u de combinatie in het scriptbestand), en tijdens het opnemen gaat u naar File
> Place Embedded...
, en plakt u %TEMP%\clip.png
in het veld bestandsnaam.
De broncode voor het AHK-script staat hieronder - als u AutoHotKey nog niet eerder hebt gebruikt, installeer het dan, sla de code dan op in een filename.ahk
bestand in dezelfde directory als het hulpprogramma ClipboardToPNG.exe, en voer het dan gewoon uit.
DoPhotoshopPaste() {
RunWait, %A_ScriptDir%\ClipboardToPNG.exe ; run utility, wait for it to complete
if (ErrorLevel == 0) { ; if error code is 0
SendEvent, +^{F12} ; press Shift+Ctrl+F12 to run the designated Photoshop action to paste
}
else {
SendEvent, ^v ; else, just perform a standard paste.
}
}
#IfWinActive ahk_exe Photoshop.exe ; only activate this hotkey when photoshop is active
^v::DoPhotoshopPaste()
#IfWinActive