11/08/2010, 05:40
|
| | | Fecha de Ingreso: enero-2008 Ubicación: Valencia
Mensajes: 34
Antigüedad: 16 años, 3 meses Puntos: 0 | |
Respuesta: Problema con este script Cita:
Iniciado por severicks Hola.
Estoy haciendo un pequeño CMS que incluye subir fotos para una galeria de imagenes. Leyendo varios tutoriales aquí y allá arme un script para redimensionar o recortar las imagenes segun sea necesario, peor por algun motivo no me funciona.
Este es el script: Código PHP: function crear_thumb($img, $tname){ // Obtencion de formatos de imagen if(stristr(strtolower($img),"jpg") or stristr(strtolower($img),"jpeg")){ $img = imagecreatefromjpeg($img); $tipo = "jpg"; } if(stristr(strtolower($img),"png")){ $img = imagecreatefrompng($img); $tipo = "png"; } if(stristr(strtolower($img),"gif")){ $img = imagecreatefromgif($img); $tipo = "gif"; } // Obtenemos ancho y alto de la imagen $ancho = imagesx($img); $alto = imagesy($img); echo $alto . "<br/>" .$ancho; if(($ancho/$alto <= 1.39) && ($alto/$ancho <=0.8) || ($ancho/$alto <= 0.8) && ($alto/$ancho <=1.88)){ $n_alto = 202; $redu = ($n_alto * 100) / $alto; $n_ancho = round($ancho * $redu / 100); $thumb = imagecreatetruecolor($n_ancho,$n_alto); var_dump($thumb); var_dump($img); if(!imagecopyresized($thumb,$img,0,0,0,0,$n_ancho,$n_alto,$ancho,$alto)){echo "cpy <br/>"; } switch($tipo){ case "jpg":echo " JPEGLE "; $img = imagecreatefromjpeg($tname); case "png": $img = imagecreatefrompng($tname); case "gif": $img = imagecreatefromgif($tname); } return array($n_ancho, $n_alto); echo "hola"; }else{ $n_alto = 202; $redu = ($n_alto * 100) / $alto; $n_ancho = round($ancho * $redu / 100); $thumb = imagecreatetruecolor($n_ancho,$n_alto); imagecopyresized($thumb,$img,0,0,0,0,$n_ancho,$n_alto,$ancho,$alto); switch($tipo){ case "jpg": $img = imagecreatefromjpeg($tname); case "png": $img = imagecreatefrompng($tname); case "gif": $img = imagecreatefromgif($tname); } $ancho = imagesx($img); $thumb = imagecreatetruecolor(244, 204); if(imagecopyresampled($thumb, $img, 0, 0, abs(($ancho - 244) / 2),0, 244, 204, 244, 204)){ echo "aja"; switch($tipo){ case "jpg": imagejpeg($thumb, $tname); case "png": imagepng($thumb, $tname); case "gif": imagegif($thumb, $tname); } } return array(244, 204); } imagedestroy($thumb); } Que estoy haciendo mal? no entiendo por que es que no funciona. que es lo que te sale? como sabes que esta mal? como llamas a la función? |