Seit etwas über einer Woche habe ich auf der Arbeit einen neuen Rechner – ein MacBook Pro mit Retina Display. Dieser Bildschirm ist genial, aber leider hat das tolle neue Display auch einen Nachteil – jedes Bildschirmfoto ist riesig (4x so viele Pixel). Da ich für die Arbeit jedoch regelmäßig Bildschirmfotos an Kunden schicke, fand ich es schnell richtig nervig, jedes Mal erst die Größe anpassen zu müssen.

Eine Google Suche brachte einen sehr nützlichen Blogeintrag zu Tage, in dem auch gleich noch passender Quelltext vorgegeben war, das Problem zu beheben. Für meine Bedürfnisse passte ich den Quelltest noch ein wenig an und schon habe ich eine optimierte Lösung. Trotz der Anpassung mag ich nicht vergessen, dass die Hauptarbeit bei Lance Li und Mark Denman lag und deshalb richte ich hiermit ein ganz großes Dank an die beiden. Da ich die Anpassung jedoch ganz nützlich finde, teile ich gerne mit Euch.

Was macht das Script?

Das Script erstellt ein Bildschirmfoto – entweder von einer Bildschirmregion oder von einem Fenster. Das Bildschirmfoto wird dann auf maximal 1024Pixel Kantenlänge verkleinert und in die Zwischenablage gelegt.

Wie legst Du das Script an?

  1. Öffne Automator > Neues Dokument > Dienst
  2. Wähle aus, dass der Dienst keine Eingabe empfängt. Dazu wählst Du oben aus der Dropdown-Liste keine Eingabe und stelle bitte sicher, dass in jedem Programm ausgewählt ist
  3. Aus der Aktionen Bibliothek wählst Du bitte Shell-Script ausführen aus und ziehst das rechts in den Arbeitsbereich
  4. Als Shell lässt Du bitte /bin/bash ausgewählt – im Textfeld ersetzt Du cat mit dem untenstehenden Quelltext
  5. Bitte klicke einmal auf ausführen, um sicherzustellen, dass alles richtig läuft
  6. Wenn das geklappt hat, speicherst Du deinen Dienst mit ⌘+S und gibst diesem einen Namen
  7. Nun öffne Systemeinstellungen > Tastatur > Kurzbefehle
  8. Wähle Deinen Dienst (unter Allgemein) und klicke in das Feld ganz rechts, wo der Tastenbefehl hinterlegt werden kann. Ich habe z.B. ⇧+⌘+6 vergeben.
# Ursprüngliche Quelle für dieses Script:
# http://blog.lanceli.com/2012/08/downscale-screenshot-at-hight-resolution-on-retina-mackbook-pro.html
# Autoren: Lance Li & Mark Denman
# Kleinere Modifikation: Claus Wolf; claus@mactopics.de:: Bildschirmfoto mit 1024px Kantenlänge

# Speicherort für das Bildchirmfoto
# Dateien im /tmp werden beim reboot gelöscht

SS_PATH="/tmp"

# Variable für die Kantenlänge, unter Umständen auskommentieren

WIDTH="1024x"

# Zeitstempel für die Benennung der Screenshots

NOW=$(date +%s)

# Bildschirmfoto erstellen, Dateiname wird screenshot$NOW@2X.jpg lauten

screencapture -i -r -t jpg $SS_PATH/screenshot$NOW@2X.jpg

# Wir überprüfen, ob das Bildschirmfoto existiert

if [ -f $SS_PATH/screenshot$NOW@2X.jpg ]; then

# Wenn Du die Bilder auf 50% Größe schrumpfen willst, in der nächsten Zeile das # entfernen
# WIDTH=$(($(sips -g pixelWidth $SS_PATH/screenshot$NOW@2X.jpg | cut -s -d ':' -f 2 | cut -c 2-)/2))

# Wir nutzen nun sips, um das Bild auf die gewünschte Größte zu ändern

sips --resampleWidth $WIDTH $SS_PATH/screenshot$NOW@2X.jpg --out $SS_PATH/screenshot$NOW@1X.jpg

# Das Bild im Zwischenspeichern kopieren

osascript -e 'set the clipboard to (read (POSIX file "'$SS_PATH/screenshot$NOW@1X.jpg'") as JPEG picture)'

# Fertig

fi

Aber 1024er Kantenlänge ist doch langweilig…

Richtig – für meinen eMail-Zweck ist das optimal, da ich meist ein Browserfenster „abfotografiere“, aber logischer wäre es eine 50% Auflösung zu nehmen, da man neben ganzen Fenstern ja auch oft nur einen Bildschirmbereich benötigt. Solltest Du also eine dynamische Skalierung bevorzugen, dann ist das natürlich kein Problem. Im Originalskript hatten die beiden Entwickler genau dies vorgesehen. Wenn Du das gerne nutzen möchtest, suche nach der Zeile WIDTH=“1024x“ und kommentiere diese aus (einfach ein # an den Zeilenanfang setzen) oder entferne diese vollständig und dann entfernst Du das # vor dieser Zeile:

WIDTH=$(($(sips -g pixelWidth $SS_PATH/screenshot$NOW@2X.jpg | cut -s -d ':' -f 2 | cut -c 2-)/2))

Und nun?

Immer dann, wenn ich einem Kunden ein Bildschirmfoto senden möchte, drücke ich lediglich ⇧+⌘+6, mache mein Bildschirmfoto und kann sofort in Outlook (eine Vorgabe der Firma) einfügen. Ein super Zeitsparer. Danke an Lance & Mark und hoffentlich kommt Euch dieser Beitrag irgendwann mal gelegen!


Claus Wolf

Seit 1994 im Netz unterwegs und seit 2004 eingefleischter Mac-Nutzer.

1 Kommentar

AppTipp: Monosnap – bessere Screenshots - MacTopics.de · 13. Oktober 2015 um 05:41

[…] Vorschau Bildschirmfotos bearbeiten kann, wie Skitch oder Voilà hilft, oder wie man sich einen Automator-Workflow erstellt, der die Größe automatisch korrigiert. Aber irgendwie suche immer nach einer neuen App. Im Moment ist mein […]

Schreibe einen Kommentar

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.