
W skrócie: Na stronie łobrazki mają się generować w locie z oryginału (pomniejszane) i dodatkowo mają nałożony watermark. Wynikowy obrazek wyświetlany jest poprzez:
Kod:
<?php ?>
gdzie 'srodek' to właśnie ten 'watermark' generowany z obrazka (pomniejszonego $srodek_src), natomiast tło jest stałe (z innego obrazka)
oto uobrazek.php:
<?php include_once ('functions_graph.inc'); $tlo_src = "./produkty/images/puste_biale_kolko.png"; $srodek_src = $_GET['srodek']; // czytaj z argumentu linku // zmniejsz fotosa do miniaturki $resajz = ResizePNG($srodek_src); // a tu scal miniaturke z tlem (produkty) $merge = MergeProdPNG($tlo_src, $resajz); // ... i wyswietl efekt: ?>
funkcje:
<?php function ResizePNG($stary_png) { $stary = ImageCreateFromPNG($stary_png); $colorTransparent = imagecolortransparent($stary); $nowa_szerokosc = 100; $nowa_wysokosc = 100; // Otwieramy nowy obrazek i nadajemy mu tło $nowy_png = ImageCreateTrueColor($nowa_szerokosc, $nowa_wysokosc); imagefill($nowy_png, 0, 0, $colorTransparent); imagecolortransparent($nowy_png, $colorTransparent); ImageCopyResized($nowy_png, $stary, 0, 0, 0, 0, $nowa_szerokosc, $nowa_wysokosc, $rozmiar['0'], $rozmiar['1']); // Pozbywamy się starego obrazka ImageDestroy($stary); return $nowy_png; ImageDestroy($nowy_png); } ?>
<?php function MergeProdPNG($tlo_src, $srodek_src) { $srodek = $srodek_src; // wiem, że głupie - ale to popłuczyny z eksperymentów, nie smiać się :) $srodek_width = imagesx($srodek); $srodek_height = imagesy($srodek); $obraz = imagecreatefrompng($tlo_src); ImageAlphaBlending($obraz, true); ImageCopyMerge($obraz, $srodek, 15, 30, 0, 0, $srodek_width, $srodek_height, 100); return $obraz; ImageDestroy($obraz); ImageDestroy($srodek); } ?>
<?php function DisplayPNG($src) { ImagePNG($src); // Zwalniamy zajętą pamięć ImageDestroy($src); } ?>
No i o co mnie chodzi...
Otóż to kurestwo działa pięknie pod Firefoxem, a natomiast pod exploderem nie chce. W sensie - zero błędów - tylko IE generalnie szcza na to, że ten złamany obrazek ma wyświetlić. Nawet gdy przedeklaruję wynikowy obrazek na np. gif czy jpg - IE ma mnie w rzyci (FF wyświetla) - czyli nie jestem przekonany, że to fabryczne ułomnosci IE w stosunku do formatu PNG - ale może ktoś mnie oświeci.. ?
Ręce mi opadają, gdzieś zapewne szczegół jakiś - ale może ktoś ze świeżym spojerzeniem wytknie mi prawdopodobne miejsca błędów...
help !
