Resize PNG image in PHP Resize PNG image in PHP php php

Resize PNG image in PHP


Last argument in imagepng($image_p, null, 100) should be between 0 and 9.


try this:

$image = imagecreatefrompng ( $filename );$new_image = imagecreatetruecolor ( $width, $height ); // new wigth and heightimagealphablending($new_image , false);imagesavealpha($new_image , true);imagecopyresampled ( $new_image, $image, 0, 0, 0, 0, $width, $height, imagesx ( $image ), imagesy ( $image ) );$image = $new_image;// savingimagealphablending($image , false);imagesavealpha($image , true);imagepng ( $image, $filename );


see if this works

#upload de imagepublic function upImagem($imagem, $dir, $res, $id, $tam){    $arquivo = $imagem;    $arq_nome = $arquivo['name'];    $ext = $arquivo['type'];    $nome=$this->RenImg($arquivo, $dir, $id, $tam);    $imagem = $arquivo['tmp_name'];    if($ext=='image/jpeg'){    $img = imagecreatefromjpeg($imagem);    }    elseif($ext=='image/png'){    $img = imagecreatefrompng($imagem);    }    elseif($ext=='image/gif'){    $img = imagecreatefromgif($imagem);    }    if(($ext=='image/png') or ($ext=='image/gif')){    list($x, $y) = getimagesize($arquivo['tmp_name']);    }    elseif($ext=='image/jpeg'){    $x = imagesx($img);//original height    $y = imagesy($img);//original width    }    $altura  = $res[1];    $largura = $res[0];    $nova  = imagecreatetruecolor($largura,$altura);    $preto = imagecolorallocate($nova, 0, 0, 0);    if(($ext=='image/png') or ($ext=='image/gif')){    imagealphablending($nova , false);    imagesavealpha($nova , true);    }    if($ext=='image/png'){    imagecolortransparent ($nova, $preto);    imagecopymerge($img, $nova, 0, 0, 0, 0, imagesx($nova), imagesy($nova), 100);    imagecopyresized($nova,$img,0,0,0,0,$largura,$altura, $x, $y );    }    else {    imagecopyresampled($nova,$img,0,0,0,0,$largura,$altura,$x,$y);    }    if($ext=='image/jpeg'){    imagejpeg($nova,$nome,99);    }    elseif($ext=='image/gif'){    imagealphablending($nova , false);    imagesavealpha($nova , true);    imagegif($nova,$nome,99);    }    elseif($ext=='image/png'){    imagealphablending($nova , false);    imagesavealpha($nova , true);    imagepng($nova,$nome);    }    imagedestroy($img);    imagedestroy($nova);}#renames the imagepublic function RenImg($arq,$dir,$id,$tam){    $arq_nome = $arq['name'];    $arq_nome2=str_replace('.jpg','',$arq['name']);//renomeia o arquivo    $arq_nome2=str_replace('.png','',$arq_nome2);//renomeia o arquivo    $arq_nome2=str_replace('.gif','',$arq_nome2);//renomeia o arquivo    //$new_name = md5($arq_nome);    $ext = $this->getExt($arq_nome);    $nome = $dir.$id.$tam.'.jpg';//.'.'.$ext    return $nome;}#capture the file extensionpublic function getExt($arq){    $ext = pathinfo($arq, PATHINFO_EXTENSION);    return $ext;}