Тож я набридла цим роздратуванням і вирішила подолати.
Є дві частини:
- Крихітна утиліта, яку я написав, щоб зберегти зображення буфера обміну у файл .png
- AutoHotKey сценарій
Сценарій AutoHotKey перевіряє, чи Photoshop наразі активний, і якщо так, то перехоплює комбінацію клавіш Ctrl
+ V
, а потім запускає утиліту.
Якщо утиліта зберегла зображення до %TEMP%\clip.png
, комбінація клавіш Shift
+ Ctrl
+ F12
надсилається до Photoshop, який я відобразив у Photoshop Action, щоб розмістити clip.png
файл у відкритому документі.
Якщо утиліта не зберегла зображення, стандартний комбінат клавіш Ctrl
+ V
надсилається до Photoshop і виконується стандартна паста.
Весь вихідний код доступний тут: https://github.com/SilverEzhik/ClipboardToPNG , а утиліту можна завантажити тут: https://github.com/SilverEzhik/ClipboardToPNG/releases
Щоб створити дію Photoshop, просто зробіть нову дію з комбінацією клавіш, відображеною на Shift + Ctrl + F12 (або змініть комбінацію у файлі сценарію), а потім під час запису перейдіть до File
> Place Embedded...
та вставте %TEMP%\clip.png
у поле імені файлу.
Вихідний код сценарію AHK наведено нижче - якщо ви раніше не використовували AutoHotKey, встановіть його, а потім збережіть код у filename.ahk
файл у тій самій директорії, що і утиліта ClipboardToPNG.exe, а потім просто запустіть його.
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
.png
Файл або його растровий , поки він буде відкритий в редакторі / глядача? Якщо це файл, то Photoshop (повинен) мати змогу правильно відкрити файл, прозорість і все. Якщо це фактичні пікселі зображення, то це залежить від вихідної програми та чи вводить вона дані про прозорість у буфер обміну чи ні.