Imagerotate, transparent png og IE 6
Hej.Jeg er ved at lave en side hvor jeg skal have plottet nogle billeder hist og her ud fra noget data jeg henter fra en anden side. Disse billeder skal så også roteres ud fra det data jeg henter og regner på. Det virker fint i IE 7, Safari og Firefox, men vil gerne have det til at virke i IE 6 også. Jeg har næsten fået det til at virke, men ikke 100 %.
Her kan i se et stykke af min kode. Det hele foregår i en while der bliver kørt igennem for hvert billede der skal plottes.
echo <<<CSS
<!--[if gte IE 5.5]>
<![if lt IE 7]>
<style type="text/css">
#trans1img$t img { filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0); }
#trans1img$t { display: inline-block; }
#trans1img$t { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="rotate1.php?grader=$grader"'); }
</style>
<![endif]>
<![endif]-->
CSS;
echo "<span id=\"trans1img$t\" style=\"position: absolute; margin-top:${"y{$p[$s]}"}px; margin-left:${"x{$p[$s]}"}px\"><a onclick=\"load('info.php?linje=$linje&stop=$stop&tognr=$tognr&forsinkelse=$forsinkelse','med3'); return false;\"><img src=\"rotate1.php?grader=$grader\" alt=\"\"></a></span>";
$t++; // t er sat til 1 udenfor while
Altså den kører det hele igennem for hvert billede og hver gang er t steget med 1 så der i css'en bliver oprettet en ny div. Hvis ikke jeg gør det på denne måde vil alle billederne vende den samme vej da de jo alle vil være i samme div.
Ovenstående virker næsten perfekt. Det skal forståes på den måde at omkring 28 ud af 30 billeder bliver plottet korrekt. Men to af dem bliver plottet som de ville hvis jeg ikke havde lavet specielle regler for IE 6. Nemlig hvor det transparente område er lyseblåt.
Kan det være noget med at den glemmer noget af det, da min css jo ændrer sig. Ved ikke helt hvor pænt det er at bruge variabler i css, men kan ikke lige se nogen anden måde det kan laves på.
Hvis det er til nogen hjælp kan indholdet af rotate.php ses her:
<?php
header('Content-type: image/png');
$filnavn = './billeder/tog1.png';
$grader = $_GET['grader'];
$source = imagecreatefrompng($filnavn);
$rotate = imagerotate($source, $grader, -1);
imagealphablending($rotate, true);
imagesavealpha($rotate, true);
imagepng($rotate);
?>
Håber I kan hjælpe mig her. Skriv hvis i skal bruge mere info.