Also hatte ich genug von diesem Ärger und machte einen Workaround.
Es gibt zwei Teile:
- Ein kleines Hilfsprogramm, das ich geschrieben habe, um das Zwischenablage-Bild in einer PNG-Datei zu speichern
- Ein AutoHotKey- Skript
Das AutoHotKey-Skript überprüft, ob Photoshop derzeit aktiv ist, und fängt in diesem Fall die Tastenkombination Ctrl
+ ab. V
Anschließend wird das Dienstprogramm ausgeführt.
Wenn das Dienstprogramm ein Bild in gespeichert hat %TEMP%\clip.png
, wird die Tastenkombination Shift
+ Ctrl
+ F12
an Photoshop gesendet, das ich einer Photoshop-Aktion zugeordnet habe, um die clip.png
Datei im aktuell geöffneten Dokument abzulegen.
Wenn das Dienstprogramm nicht das Bild speichern, der Standard Ctrl
+ V
Tastenkombination ist mit Photoshop und eine Standard - Paste gesendet wird , durchgeführt.
Der gesamte Quellcode ist hier verfügbar: https://github.com/SilverEzhik/ClipboardToPNG . Das Dienstprogramm kann hier heruntergeladen werden: https://github.com/SilverEzhik/ClipboardToPNG/releases
Um die Photoshop-Aktion zu erstellen, erstellen Sie einfach eine neue Aktion mit der Tastenkombination Umschalt + Strg + F12 (oder ändern Sie die Kombination in der Skriptdatei). Gehen Sie dann während der Aufnahme zu File
> Place Embedded...
und fügen Sie sie %TEMP%\clip.png
in das Dateinamenfeld ein.
Der Quellcode für das AHK-Skript ist unten angegeben. Wenn Sie AutoHotKey noch nicht verwendet haben, installieren Sie es, speichern Sie den Code in einer filename.ahk
Datei im selben Verzeichnis wie das Dienstprogramm ClipboardToPNG.exe und führen Sie es dann einfach aus.
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
Datei oder ihre Bitmap, während sie in einem Editor / Viewer geöffnet ist? Wenn es sich um die Datei handelt, sollte Photoshop in der Lage sein, die Datei korrekt, transparent und vollständig zu öffnen. Wenn es sich um die tatsächlichen Pixel des Bildes handelt, hängt dies vom Quellprogramm ab und davon, ob die Transparenzdaten in die Zwischenablage kopiert werden oder nicht.