Redimensionner image PNG en PHP

J'en ai pas d'affichage de l'image lors du redimensionnement PNG toutefois, le code suivant fonctionne pour JPEG.

list($width_orig, $height_orig) = getimagesize( $fileName );

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
} else {
   $height = $width/$ratio_orig;
}

//Resample
$image_p = imagecreatetruecolor($width, $height);

if( $type )){
    switch( $type ){
        case 'image/jpeg':
            $image = imagecreatefromjpeg($fileName);
            imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
            imagejpeg($image_p, null, 100);
        break;

        case 'image/png':
            imagealphablending( $image_p, false );
            imagesavealpha( $image_p, true );
            $image = imagecreatefrompng( $fileName );
            imagecopyresampled( $image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
            imagepng($image_p, null, 100);
        break;
    }
}

J'ai mis les en-têtes, mais pour une raison que je suis en train de faire quelque chose de mal pour les images png.

Ce que les en-têtes avez-vous utilisé?
Je ne vois pas où vous définissez $type variable.

OriginalL'auteur Ian | 2011-02-21