Das Kopieren von PNG mit Transparenz aus dem Browser zeigt stattdessen einen schwarzen Hintergrund

Wenn ich ein PNG-Bild mit Transparenz in die Zwischenablage kopiere und anschließend in Photoshop, Paint usw. einfüge. - die Transparenz wird schwarz.

Gibt es dafür eine Problemumgehung? Ist dies ein Browserproblem, ein Anwendungsproblem oder ein Betriebssystemproblem mit der Zwischenablage?

Ich verwende Windows 7 und habe die neuesten Versionen von Chrome und Internet Explorer getestet.

Author: random, 2011-01-25

8 answers

Copy-Paste sorgt nicht für Transparenz. Versuchen Sie, die Datei zu speichern, und verwenden Sie dann Open File in Photoshop. AFAIK, Paint kann keine Transparenz-fähigen PNG-Dateien speichern.

 34
Author: Gani Simsek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-01-25 21:17:34

Veröffentlichung der Kommentar von @DanLugg als Antwort, wie es die meisten bequem für Windows - , IMHO:

  1. Rechtsklick auf das Bild und Copy Image URL aus dem Browser.
  2. Wählen Sie in Photoshop File->Open (Strg-o) und fügen Sie die URL in den Dateinamenteil des Dialogfelds ein.
    • Photoshop / Windows lädt die URL in eine temporäre Datei herunter und öffnet sie.

Für OS X gibt es kein Feld in einem geöffneten Dateidialog/Blatt, in dem man könnte einen URI einfügen. Stattdessen müssen Sie die Datei herunterladen und öffnen (z. B. vom Browser auf den Desktop ziehen, dann die neue Datei auf das Dock oder in Ihr Photoshop-Dokument ziehen) und dann die temporäre Datei löschen.


FWIW, dies scheint ein Photoshop - problem, keine browser-oder Betriebssystem-problem. Unter OS X und Windows kann ich ein PNG-Bild mit Transparenz aus Chrome (und auch Safari unter OS X) kopieren und in Illustrator oder andere Anwendungen einfügen und pflegen lassen Transparenz. Photoshop allein ist Schuld.

 14
Author: Phrogz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-10-04 14:43:47

Versuchen Sie dies: Kopieren Sie das transparente Bild, fügen Sie es in MS Word ein. Kopieren Sie es dann (oder ziehen Sie es per Drag / Drop) aus Word und fügen Sie es in das andere Zielprogramm ein.

Ich habe festgestellt, dass ein Einfügen in Visio von Chrome schwarz wird, aber in Word ordnungsgemäß funktioniert, und dann aus Word kopiert, wird es ordnungsgemäß und transparent in Visio eingefügt.

 3
Author: JamieRI,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-12-01 02:20:55

Sie können das Bild einfach aus dem Browser in Photoshop oder ein anderes Programm ziehen, das eine PNG-Datei ordnungsgemäß verarbeitet.

 1
Author: Bob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-09-22 01:06:24

Ich habe eine Problemumgehung erstellt, die das Problem behebt. Wenn Sie mein Skript nach dem Kopieren eines PNG ausführen, können Sie ein Bild aus Chrome mit der Transparenz in Takt in Photoshop, Paint usw. einfügen.

Programm + Quelle: https://github.com/skoshy/CopyTransparentImages/releases

Wenn Sie Probleme damit haben, lassen Sie es mich hier oder auf Github wissen!

 1
Author: Steve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-02-01 17:16:50

Also hatte ich genug von diesem Ärger und machte eine Problemumgehung.

Es gibt zwei Teile:

  • Ein kleines Dienstprogramm, das ich geschrieben habe, um das Bild in der Zwischenablage zu speichern .png-Datei
  • Einer AutoHotKey script

Das AutoHotkey-Skript prüft, ob Photoshop aktuell aktiv ist, und wenn ja, fängt es die Ctrl+V Tastenkombination, und dann läuft es das Dienstprogramm.

Wenn das Dienstprogramm ein Bild in %TEMP%\clip.png gespeichert hat,Shift+Ctrl+F12 schlüssel die Kombination wird an Photoshop gesendet, das ich einer Photoshop-Aktion zugeordnet habe, um die Datei clip.png in das aktuell geöffnete Dokument einzufügen.

Wenn das Dienstprogramm das Bild nicht gespeichert hat, ist der Standard Ctrl+V die Tastenkombination wird an Photoshop gesendet und eine Standardpaste wird ausgeführt.

Der gesamte Quellcode ist hier verfügbar: https://github.com/SilverEzhik/ClipboardToPNG, und 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, die Shift+Strg+F12 zugeordnet ist (oder ändern Sie die Kombination in der Skriptdatei), und gehen Sie dann während der Aufnahme zu File > Place Embedded..., und fügen Sie %TEMP%\clip.png in das Feld Dateiname ein.

Der Quellcode für das AHK-Skript wird unten angegeben - wenn Sie AutoHotkey noch nicht verwendet haben, installieren Sie es und speichern Sie den Code in einer filename.ahk - Datei im selben Verzeichnis wie der ClipboardToPNG.exe-Dienstprogramm, und dann einfach ausführen.

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
 1
Author: Ezhik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-05-15 03:04:39

Ich habe gerade viel Zeit damit verbracht, mir das anzuschauen. Ich habe Photoshop verwendet, um halbtransparente Texturen während des Prototypings (mit dem Ziel von Axure RP) einige Zeit lang zu kopieren.

Jetzt habe ich versucht, die neue Zwischenablage-API in HTML 5 zu verwenden. Ich habe die PNG-Dateien seziert, die von diesem Prozess generiert werden.

Wenn ich die Zwischenablage (mit einem rechteckigen Auswahlfeld) verwende, um eine halbtransparente Textur mit der Zwischenablage-API in den Browser zu kopieren, wird das Alpha-Byte auf FF (vollständig undurchsichtig) gesetzt.

Wenn ich die Drag & Drop-API verwende, um eine PNG-24-Datei "Als Web speichern" in den Browser zu kopieren, funktioniert sie wie erwartet und transparente Pixel funktionieren (und das Alpha-Byte wird nicht zum FF gezwungen).

Hinweis: Selbst wenn Photoshop sagt, dass es 24 Bit ist, exportiert es es tatsächlich noch als 8 Bit (bestätigt).

 0
Author: Homer6,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-01-16 10:15:59

Wenn Sie sich fragen, ob eine kopierte PNG-Datei auch beim manuellen Öffnen eine schwarze Hintergrundfarbe hat, überprüfen Sie, ob kein Alphakanal vorhanden ist.

Scheint, je nachdem, welche Software verwendet wurde, um das PNG zu machen, wird die Transparenz manchmal so gehalten, wie sie in den Ebenen ist, aber ein anderes Mal wird sie in einem Alphakanal gehalten.

Ein Trick, wenn es sich im Alphakanal befindet, besteht darin, einfach STRG + Auf die kleine Vorschau des Alphakanals zu klicken, um es auszuwählen und dann eine Maske zu erstellen auf der Ebene mit dem schwarzen Hintergrund aus der Auswahl. (Dann können Sie den Alphakanal löschen)

 0
Author: CMaxo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-01-18 05:10:30