Gar nicht.
Mit JavaScript kann man keine Dateien und daher auch keine Bilder bearbeiten.
Mit PHP (oder einer anderen Server seitigen Programmiersprache) ginge dies hingegen schon, auch wenn das Ergebnis nicht immer zufrieden stellend ist xD.
leider kann man ja nicht einfach n div-kontainer rüberklatschen und seine deckkraft ändern
...
Nicht? Eigentlich solltest du jedem Browser irgendwie Alphatransparenz vermitteln können. Zwar mit CSS und nicht mit JS, aber was solls. Oder hab ich dich da falsch verstanden?
Nicht? Eigentlich solltest du jedem Browser irgendwie Alphatransparenz vermitteln können. Zwar mit CSS und nicht mit JS, aber was solls. Oder hab ich dich da falsch verstanden?
...
Ich denke, er meint eher, dass das für eine Farbtonänderung nicht reicht.
Nicht? Eigentlich solltest du jedem Browser irgendwie Alphatransparenz vermitteln können. Zwar mit CSS und nicht mit JS, aber was solls. Oder hab ich dich da falsch verstanden?
...
JavaScript hat vollen Zugriff auf das DOM und kann damit auch CSS-Eigenschaften setzen:
Zitat von Xardas der Dunkle
Gar nicht.
Mit JavaScript kann man keine Dateien und daher auch keine Bilder bearbeiten.
Mit PHP (oder einer anderen Server seitigen Programmiersprache) ginge dies hingegen schon, auch wenn das Ergebnis nicht immer zufrieden stellend ist xD.
...
Mh; kommt drauf an, was du willst und wie du das bewerkstelligen willst. Wenn du den Farbton eines Bildes mit PHP/gd ändern willst (beispielsweise von rot auf grün), dann ist es am einfachsten, jeden Pixel in HSL umzurechnen (fertige Snippets lassen sich einfach finden), die Hue-Komponente zu verändern und dann zurückzukonvertieren. Das Ergebnis sollte nicht nennenswert schlechter als das Originalbild sein, wenn du keinen Unfug codest.
Zitat von Merovinger
es geht in 1. linie nicht darum die grafi zu ändern, nur sondern darum das bild für den benutzer andrers anzeigen zu lassen. das geht bsp für ie. da kann man die grafik entfärbt anzeigen lassen ohne dass die ur-grafik verändert wird
...
Dummerweise verwendet der IE dafür DirectX-Filter, die ausschließlich unter IE/Win laufen.
Ich würde dir raten, das serverseitig mit PHP und gd zu machen. gd ist bei den meisten Hostern in PHP eingebaut; du solltest also keine Probleme haben, es zu verwenden.
Der Algorithmus sollte einfach sein:
Natürlich mußt du in der Praxis noch das Bild öffnen, die RGB-Werte für den Pixel extrahieren, etc. Aber mit der Referenz auf php.net sollte das machbar sein.
Falls du es nicht hinkriegst und/oder ich nach dem Tutorium noch Zeit toschlagen muß kann ich mal sehen, ob ich's auf die Schnelle hingemacht kriege.
Hm. Wäre mir neu; die NATO-Namensschilder werden mit gd erstellt und da kann ich problemlos ein Bild in ein anderes einfügen und dann Text daneben setzen. Alphatransparenz ist kein Problem; die Karte hatte einmal sogar eine halbtransparente Ebene über dem normalen Kram.
Ich vermute mal, daß du die falschen Funktionen benutzt (beispielsweise imagecreate() statt imagecreatetruecolor()) oder nach JPEG speicherst (ich weiß nicht, wie heftig PHP da komprimiert). Oder nach GIF, aber warum sollte jemand das tun?
TrueColor-Bilder, die als PNG gespeichert werden, sollten absolute Qualität heben. Und jetzt mal ehrlich: Wer würde für Bedien-/Informationselemente auf seiner Website was anderes als PNG verwenden? GIF meist ist auch nicht kleiner und unterstützt nur eine 8bittige Palette pro Bild und 1bittige Transparenz. JPEG ist nur in hohen Qualitätsstufen sinnvoll und kann gar keine Transparenz. SVG wird nicht überall unterstützt. Was hochqualitative Bilder mit brauchbar aussehenden Kanten angeht ist PNG momentan das einzig plausible Format.
Ich vermute mal, daß du die falschen Funktionen benutzt (beispielsweise imagecreate() statt imagecreatetruecolor()) oder nach JPEG speicherst (ich weiß nicht, wie heftig PHP da komprimiert). Oder nach GIF, aber warum sollte jemand das tun?
...
Laut PHP-Doc Mit etwa 75% Qualität (oder wie auch immer man das am besten ausdrückt).
Zitat
TrueColor-Bilder, die als PNG gespeichert werden, sollten absolute Qualität heben. Und jetzt mal ehrlich: Wer würde für Bedien-/Informationselemente auf seiner Website was anderes als PNG verwenden? GIF meist ist auch nicht kleiner und unterstützt nur eine 8bittige Palette pro Bild und 1bittige Transparenz. JPEG ist nur in hohen Qualitätsstufen sinnvoll und kann gar keine Transparenz. SVG wird nicht überall unterstützt. Was hochqualitative Bilder mit brauchbar aussehenden Kanten angeht ist PNG momentan das einzig plausible Format.
...
Bei Webdesign hat man dann mit Pech das Problem, dass der IE die Farben der PNGs anders darstellt als die CSS Farben, warumauchimmer.
BTW: Mir ist bewusst, dass man mit JS die CSS-Attribute eines Objektes ändern kann, aber es bleibt für mich CSS. JS wäre es IMO, wenn man sowas wie document.getElementById('image').saturate(foobar); machen könnte. Aber das nur nebenbei.