Photoshop mit Javascript

Zu sagen man kennt Photoshop nicht wäre als wenn ein Eisverkäufer mit der Gabel die Waffeln füllt. Erstaunlicherweise ist es aber so, dass nicht ein Browser oder halbwegs intelligente Programmiersprache etwas mit den PSD-Dateien anzufangen weiß. Das bringt einige Probleme mit sich wenn man zum Beispiel eine Bilddatenbank programmieren will, und automatisch Thumbnails erstellen lassen möchte.

Screenshot von psd.js

Lustigerweise gibt es (oder besser gesagt soll es geben) einen Parser für PSD in Javascript. Das Projekt psd.js kann schon die grundlegenden Informationen aus einer PSD-Datei heraus holen. Gehostet wird natürlich (wie sollte es anders sein) auf GitHub. Der Source ist in Coffeescript und sieht recht sauber aus, Ebenen werden bereits erkannt, der Quelltext ist auch recht intuitiv:

{PSD} = require 'psd'
 
psd = PSD.fromFile './path/to/file.psd'
psd.parse()
 
for layer in psd.layers
console.log "Layer: #{layer.name}"
console.log "Size: width=#{layer.cols}, height=#{layer.rows}"
console.log "Position: top=#{layer.top}, left=#{layer.left}"
 
psd.toFile "/path/to/output.png"

Was die Library kann (oder können soll) ist folgendes:

  • Eine PSD als PNG ausgeben
  • Eine PSD als Canvas ausgeben
  • Einzelne Ebene extrahieren und anzeigen
  • Informationen über das Bild und/oder Ebenen bereitstellen

Ein recht ambitioniertes Projekt wie ich finde, und keins das jemals fertig werden wird. Man kann sich mal mit Notepad eine PSD anschauen und wird schnell merken, so einfach ist das alles nicht. Ich bin mir sicher das es immer wieder die eine oder andere PSD-Datei geben wird, die das Skript nicht interpretieren kann. Aber sowohl Idee als auch Umsetzung sind genial, und vor allem: man kann das echt brauchen. Man darf also abwarten wie sich das Projekt weiter entwickelt, aber immerhin bekommt man jetzt die Möglichkeit PSD eventuell mal direkt anzuzeigen anstatt händisch wilde Konvertierungs-Orgien durchzuführen.

Ähnliche Beiträge

jsPDF – PDF-Dateien mit JavaScript erzeugen PDF-Dateien sind aus der modernen Geschäftswelt nicht mehr wegzudenken, was insbesondere bedeutet das man diese in einer Applikation erzeugen muss. PD...
$.Callbacks() in jQuery 1.7 Ab und an scheint doch nochmal etwas neues und sinnvolles in jQuery zu kommen, in der Version 1.7 sind es wohl unter anderem die $.Callbacks(). Im Pri...
html2canvas – Screenshots mit JavaScript Wenn man mal überlegt, womit sich man sich als Blogger so seine Zeit vertreibt, wird man auf eins sehr schnell kommen: Screenshots. Die kleinen Bieste...
Javascript spricht MP3 Nein, kein Scherz! ;) JSmad kann mittels der WEB Audio API von HTML5 MP3 in Javascript decodieren. Das funktioniert nativ derzeit nur im Firefox 4, in...

Schreibe einen Kommentar