molily: Grafikmanipulation mit Javascript?

Beitrag lesen

Hallo,

Ist es mit einer Kombination aus Javascript, HTML und CSS möglich, im Browser dargestellte Grafiken zu bearbeiten? Möglichkeiten wie die CSS Filter von Microsoft meine ich nicht. Mir geht es eher um komplexere Sachen, wie z.B. Pixelmanipulation oder dem Weichzeichnen eines Bildes.

Nein, das geht nicht. Wie stellst du dir das vor?

Natürlich kann man Bilder insofern in JavaScript bearbeiten, dass man die Bilddaten als RGB-Pixel in eine zweidimensionale Matrix packen kann (das wäre dann ein riesiges Script, das man nur automatisiert erstellen könnte), mit der JavaScript Operationen durchführen kann. Ein Weichzeichner ist ja auch nur ein mathematischer Algorithmus, der Dinge in dieser Matrix berechnet und die Werte entsprechend abändert. Du wirst du nur das Problem haben, dass
1. JavaScript solche riesigen Datenmengen nicht verwalten kann. Ein zweidimensionaler Array für ein 800x600-Bild hätte 480.000 Pixel, d.h. 801 Arrays mit 480.000 Number-Objekten. Das sprengt höchstwahrscheinlich den Rahmen gängiger JavaScript-Interpreter. Wahrscheinlich würde schon das Einlesen des riesigen Scriptes nicht funktionieren.
2. Die Algorithmen müsste man in JavaScript neu implementieren, weil sie die Browser nicht von Haus aus unterstützen. Das wäre wahrscheinlich schon eine krasse Herausforderung - das gibts nämlich noch nicht.
3. JavaScript kann komplexe Manipulationen an solchen Arrays keinesfalls performant durchführen.

SVG, Canvas, VRML und Co. sind alles nur Lösungen zum Zeichnen bzw. Darstellen fester Vektor- bzw. Pixelgrafiken. Die haben ein paar Features und Filter zur »Manipulation«, stellen aber nix für Pixelmanipulationen wie Weichzeichnen zur Verfügung.

Vergiss das also - solche Sachen macht man serverseitig, da gibts z.B. imagemagick.

Mathias