Hallo Jochen,
nochmals besten Dank für deine Hilfe.
Mittlerweile habe ich das allermeiste schon hinbekommen, war halt absolutes Neuland für mich.
Evtl. interessante Seiten zu dem Thema habe ich (ausser deiner) auch noch gefunden:
http://www.koivi.com/ie-png-transparency/ [1]
http://www.alistapart.com/articles/cssdrop2/ [2]
Je nach verwendetem Grafikprogramm.
In Paintshop:
- Eine Grafik in der gewünschten Größe mit der gewünschten Hintergrundfarbe.
- Ebene-Eigenschaften-Deckfähigkeit
- Den gewünschten Transparenzgrad einstellen
- als png speichern, fertig
Ja. wenn man weiss wie, dann ist es wirklich simpel.
Das IE-CSS z.B. über Condition Comments <!--[if gte IE 5.5]> eingebunden. Für den IE 5 und früher gibt es keinen Workaround.
In einem von den mir genannten links [2] wird <!--[if gte ie 5.5000]>
verwendet, weisst Du, ob das notwendig ist, ich meine mit dem 5.0000?
Und wenn du alles richtig gemacht hast, sollte es etwa so aussehen:
http://www.electric-lemon.de
Schöne Seite, gefällt mir :-)
Wenns interessiert:
In Anlehnung an ein Script auf [1] habe ich eine einfaches PHP-Script geschrieben, welches mir bei Bedarf den Filter für IE anwendet (den kompletten Output zu Parsen wie im Orginalscript vorgeschlagen halte ich für übertrieben)
Grüsse
Frankie
Aufruf mit z.B.:
<?php
echo PngImagesAlphaFilterIE ("images/test.png","Alternativtext","Titeltext");
?>
Funktion:
<?php
function PngImagesAlphaFilterIE($img, $alt_txt, $title_txt){
// Explorer 5+
if (@GetImageSize($img)){
$img_size = GetImageSize($img);
} else {
return "Datei nicht gefunden oder kein Bildformat.";
}
$msie='/msie\s([5-9]).?[0-9]*.*(win)/i';
if( !isset($_SERVER['HTTP_USER_AGENT']) OR
!preg_match($msie,$_SERVER['HTTP_USER_AGENT']) OR
preg_match('/opera/i',$_SERVER['HTTP_USER_AGENT'])) {
$img_new = "<img src="".$img."" width="".$img_size[0]."" height="".$img_size[1]."" alt="".$alt_txt."" title="".$title_txt."">";
} else {
$img_new = "<img src="images/spacer.png" width="".$img_size[0]."" height="".$img_size[1]."" alt="".$alt_txt."" title="".$title_txt."" style="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='".$img."', sizingMethod='scale');">";
}
// nur zur Info
$img_new .= "<br><small>".$msie."<br>".$_SERVER['HTTP_USER_AGENT']."</small>";
return $img_new;
}
?>