halb-transparente Graphik
Eda
- grafik
Guten Tag allerseits
Ich möchte in eine Tabelle mit einem bestimmten Hintergrund eine Graphik einsetzen, so dass diese je nach übergebener Wert per PHP mehr oder weniger transparent ist und der Hintergrund durchscheint.
Ich habe was mit "alphaimageloader" gefunden, wurde aber nicht schlau draus und bin mir nicht mal sicher ob das der richtige Weg ist.
Und falls das mit der Transparenz geht, kann man auch nur einzele Kanäle "online" modulieren? Rot und Blau etc?
Vielen Dank für Rat und Hilfe
Eda
Hallo Eda,
Ich möchte in eine Tabelle mit einem bestimmten Hintergrund eine Graphik einsetzen, so dass diese je nach übergebener Wert per PHP mehr oder weniger transparent ist und der Hintergrund durchscheint.
Das dürfte die GD-Lib, die man als Erweiterung in PHP einkompilieren kann, (teilweise) ermöglichen. Was genau, da solltest du die Dokumentation zu der Software zu befragen...
Und falls das mit der Transparenz geht, kann man auch nur einzele Kanäle "online" modulieren? Rot und Blau etc?
Sicher ist es möglich, dass auch solche Bildbearbeitungen (unter Umständen auch unter Zuhilfenahme von Zusätzen oder externen Programmen) mit PHP möglich sind - beachte jedoch, dass der (leider noch-immer-)Marktführer keine PNG-Transparenzen darstellen kann, wenn sie sich im Alphakanal befinden.
Grüße aus Barsinghausen,
Fabian
Tja, ich hoffte auf ein Tag, das man zufälligerweise vergessen hat zu erwähnen, aber was sollt. Da gleich mit PHP reinzugehen ist natürlich auch eine Möglichkeit. Verlangt einfach ein bisschen Courage und einen eisernen Willen. Mal sehen, was bei der Hitze davon geblieben ist.
Vielen Dank trotzdem
Eda
Hallo Eda,
Tja, ich hoffte auf ein Tag, das man zufälligerweise vergessen hat zu erwähnen, aber was sollt. Da gleich mit PHP reinzugehen ist natürlich auch eine Möglichkeit. Verlangt einfach ein bisschen Courage und einen eisernen Willen. Mal sehen, was bei der Hitze davon geblieben ist.
Mhh, ich ging davon aus, da du in deinem ersten Absatz explizit PHP-Aufrufe nanntest.
Neben dem Tipp, den Sven dir gab kann ich dir aber noch die zwei (proprietären!) CSS-Eigenschaften verraten, über die sich in Mozilla (und Netscape 6+) und IE Transparenz realisieren lässt, allerdings mit diesen Methoden nur ganzflächig und keine Verläufe.
Mozilla: -moz-opacity:x; (Wertebereich: 0.00 bis 1.00) (In zehntel-Schritten anwendbar)
IE: filter:Alpha(opacity=x) (Wertebereich: 000 bis 100) (In einer-Schritten anwendbar)
Grüße aus Barsinghausen,
Fabian
Moin!
Ich möchte in eine Tabelle mit einem bestimmten Hintergrund eine Graphik einsetzen, so dass diese je nach übergebener Wert per PHP mehr oder weniger transparent ist und der Hintergrund durchscheint.
Für halbtransparente Bilder ist das PNG-Dateiformat zuständig.
Wenn du die Grafiken in den gewünschten Transparenzstufen vorproduzierst, brauchst du mit PHP nur noch den Link auf die richtige Grafik zu setzen.
Ich habe was mit "alphaimageloader" gefunden, wurde aber nicht schlau draus und bin mir nicht mal sicher ob das der richtige Weg ist.
Da der IE leider so krank programmiert ist, dass man ihm offenbar keine native ordentliche PNG-Alpha-Unterstützung mehr einpflanzen konnte, wurde eine Krücke über ein ActiveX gewählt, welches PNG-Alpha-Transparenz realisieren kann. Das macht die Sache etwas unnötig kompliziert, aber es ist scheinbar der einzige Weg, wenn man echte Transparenz für die Massen anbieten will.
Eine Suche im Archiv nach genau diesem Stichwort sollte dir offenbaren, wie der Alpha-Loader anzuwenden ist.
Alle anderen Browser unterstützen (mit Ausnahme des Netscape 4) PNG-Alpha-Transparenz ohne Umwege.
Und falls das mit der Transparenz geht, kann man auch nur einzele Kanäle "online" modulieren? Rot und Blau etc?
Nein. Das PNG ist fest definiert, daran kannst du live nichts dran ändern. Wenn du das PNG durch andere PNGs ersetzen kannst, die ebenfalls vorproduziert sind, kannst du aber grundsätzlich fast jeden Effekt erreichen.
- Sven Rautenberg