Wie kann ich ein Bild in die Befehlszeile einfügen?

10

Aktueller Anwendungsfall:

  1. Ich wähle "Bild kopieren" auf einem zufälligen PNG in Safari.
  2. Ich tippe pbpaste in terminal und erhalte den Link zum Bild.

Gibt es überhaupt eine Möglichkeit, stattdessen die Binärdaten abzurufen?

Leah Xue
quelle

Antworten:

13

Es gibt ein Dienstprogramm nur für Ihren Anwendungsfall: pngpaste

https://github.com/jcsalterego/pngpaste

Sie können die (etwas ältere) Version mit installieren brew install pngpasteoder einfach die neueste Version erstellen.

Alexander Shtuchkin
quelle
1
Dies sollte die akzeptierte Antwort sein.
Slipheed
Verwenden Sie dieses Repo mit Pngcopy und neueren Updates: github.com/moicci/pngpaste Zum Kompilieren benötigt man auch Xcode 8. Aber ich konnte die Codes ändern und ging irgendwie auf meinem Yosemite durch xcode 7.
Jerry T
3

Wenn Sie ein Bild kopieren, kopiert OS X nicht nur die Rohbilddaten. Tatsächlich gibt es in Cocoa mehrere Pappkartons, in denen Ihr Bild mehrfach dargestellt wird.

Sie können nur pbpasteauswählen, auf welches Pasteboard zugegriffen werden soll, nicht jedoch auf welche Art von Inhalt. Während das rohe Hexadezimal NSDatairgendwo im Pasteboard gespeichert ist, um es in Bildbearbeitungswerkzeuge einzufügen, können Sie es nicht pbpastein ein Terminal einfügen, das nur Text akzeptiert. Aus der pbpasteManpage :

Normalerweise sucht es zuerst nach Klartextdaten im Pasteboard und schreibt diese in die Standardausgabe

Da Klartextdaten als URL des Bildes verfügbar sind, fügen Sie diese immer ein, egal was passiert.

Es gibt keine Möglichkeit, pbpaste anzuweisen, nur einen bestimmten Datentyp abzurufen.

Der Vollständigkeit halber ist hier die URL, die für ein Bild gespeichert ist, zum Beispiel:

Screenshot mit Pasteboard Inspector .

slhck
quelle
0

Sie können versuchen, das Bild in einem Hex-Editor zu öffnen, um auf die Rohdatei zuzugreifen. Ich habe Hex Fiend auf meinem Mac verwendet und es erledigt den Job.

http://ridiculousfish.com/hexfiend/

sgtbeano
quelle
1
Dazu müssen Sie zuerst das Bild speichern.
Slhck