[PHP][GD]Jak zmienić format grafiki

Witam, od niedawna bawię się biblioteką GD. Chciałbym stworzyć skrypt, który pobierze losową grafikę z wybranego folderu, zmieni jej format na .png, a n astępnie wyświetli. Wszytko jest pięknie tylko jak zmienić format grafiki? Jeżeli wyślę header z png i użyję imagecreatefrom innego formatu wyświetlają się nierozkodowane znaki.

Jaką funkcją wyświetlasz obraz? Powinieneś użyć imagepng()

Temat uznaję za zamknięty , co prawda nie tak jak chciałem początkowo, ale działa. :smiley: Jest to rotator userbarów.

Tak to wygląda:

<?php

//Dodatkowe userbary

$img=array(

	array('http://miniprofile.xfire.com/bg/sh/type/2/grzesie2k.png', '.png')

);


$i=count($img);

foreach(scandir('userbars') as $plik){

	$roz=substr($plik, -4);

	if($roz=='.jpg' || $roz=='jpeg' || $roz=='.png' || $roz=='.gif' || $roz=='.bmp'){

		$img[$i][0]='userbars/'.$plik;

		$img[$i][1]=$roz;

		$i++;

	}

}

$wyb=rand(0, count($img)-1);


switch($img[$wyb][1]){

	case '.jpg':

		header("Content-type: image/jpeg");

		$img=imagecreatefromjpeg($img[$wyb][0]);

		imagejpeg($img);

		break;

	case 'jpeg':

		header("Content-type: image/jpeg");

		$img=imagecreatefromjpeg($img[$wyb][0]);

		imagejpeg($img);

		break;

	case '.png':

		header("Content-type: image/png");

		$img=imagecreatefrompng($img[$wyb][0]);

		imagesavealpha($img, true);

		imagepng($img);

		break;

	case '.gif':

		header("Content-type: image/gif");

		$img=imagecreatefromgif($img[$wyb][0]);

		imagesavealpha($img, true);

		imagegif($img);

		break;

	case '.bmp':

		header("Content-type: image/bmp");

		$img=imagecreatefrombmp($img[$wyb][0]);

		imagejbmp($img);

		break;

}

imagedestroy($img);

?>