<?
$wsp_skali=(isset($_GET['wsp_skali']))?
($_GET['wsp_skali']):(10
); $min_max_szer=(isset($_GET['max_szer']))?
($_GET['max_szer']):(70
); $min_max_wys=(isset($_GET['max_wys']))?
($_GET['max_wys']):(70
); $plik=$_GET['plik'];
list
($obrazek_szer, $obrazek_wys, $typ, $attr)=getimagesize($plik);
if($typ==2) { $obrazek = ImageCreateFromJPEG($plik); }
else if($typ==1) { $obrazek = ImageCreateFromGIF($plik); }
else if($typ==3) { $obrazek = ImageCreateFromPNG($plik); imagealphablending($obrazek, true); imagesavealpha($obrazek, true); } // TU
//skaluj mniejsze
$skaluj_do=($obrazek_szer<=$obrazek_wys)?('szer'):('wys');
if($skaluj_do=='wys') //jesli wymiary obrazka sa wieksze od rozmiarów miniaturki
{//wysokosc mniejsza, skaluj do niej
$min_wys=$min_max_wys; //wysokosc 100
$wsp=$min_max_wys/$obrazek_wys;
$min_szer=ceil($wsp*$obrazek_szer);
} else {
$min_szer=$min_max_szer; //wysokosc 100
$wsp=$min_max_szer/$obrazek_szer;
$min_wys=ceil($wsp*$obrazek_wys); }
$miniaturka=@ImageCreateTrueColor($min_szer,$min_wys);
@ImageCopyResampled($miniaturka, $obrazek, 0, 0, 0, 0, $min_szer, $min_wys, $obrazek_szer, $obrazek_wys);
if($min_szer>$min_max_szer) //szer miniaturki wieksza od maksymalnej dopuszczalnej
{
$wspx=round(($min_szer-$min_max_szer)/2
); }
if($min_wys>$max_wys)
{
$wspy=round(($min_wys-$min_max_wys)/2
); }
//wspx,wspy to lewy gorny rog wycinka
if($min_wys<$min_max_wys) $min_max_wys=$min_wys;
if($min_szer<$min_max_szer) $min_max_szer=$min_szer;
$miniaturka2=@ImageCreateTrueColor($min_max_szer,$min_max_wys);
if(@ImageCopy($miniaturka2, $miniaturka, 0, 0 , $wspx, $wspy, $min_max_szer, $min_max_wys));
{
if(exif_imagetype
($plik) == IMAGETYPE_JPEG
){ Header('Content-type: image/jpg'); ImageJPEG($miniaturka2,'',70); }
elseif(exif_imagetype
($plik) == IMAGETYPE_PNG
){ Header('Content-type: image/png'); imagealphablending($miniaturka2, true); //tu
imagesavealpha($miniaturka2, true); //tu
ImagePNG($miniaturka2);
}
elseif(exif_imagetype
($plik) == IMAGETYPE_GIF
){ Header('Content-type: image/gif'); ImageGIF($miniaturka2); }
}
ImageDestroy($miniaturka);
ImageDestroy($miniaturka2);
ImageDestroy($obrazek);
?>
Ha! Próbowałem to wstawić do skryptu znalezionego na tym forum, ale png nadal ma czarne tło.