Foros del Web » Programando para Internet » PHP »

re dimensionar imagen en diferentes formatos

Estas en el tema de re dimensionar imagen en diferentes formatos en el foro de PHP en Foros del Web. hola tengo una web donde al subir una imagen me re dimensiona el tamaño de la misma pero solo en jpg como podría hacer para ...
  #1 (permalink)  
Antiguo 22/05/2013, 08:06
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 13 años, 3 meses
Puntos: 1
re dimensionar imagen en diferentes formatos

hola tengo una web donde al subir una imagen me re dimensiona el tamaño de la misma pero solo en jpg como podría hacer para que también me aceptara en png
este es el código que utilizo :

Código PHP:
Ver original
  1. <?php
  2. //ancho y alto del final
  3. $ancho=150;
  4. $alto=150;
  5.  
  6. //recibir nombre
  7. $nombre=$_GET['nombre'];
  8.  
  9. //poner imagen original en memoria
  10. $original=imagecreatefromjpeg($nombre);
  11. //analizar el tamaño
  12.  
  13. $tam=GetImageSize($nombre);
  14. $ancho_original=$tam[0];
  15. $alto_original=$tam[1];
  16.  
  17.  
  18. //calcular factor de escala
  19.  
  20. $escala_1=1;
  21. $escala_2=1;
  22. $escala_1=$ancho/$ancho_original;
  23. $escala_2=$alto/$alto_original;
  24.  
  25.  
  26. // comparar tamaño
  27. if($alto_original >$ancho_original)
  28. $escala_1=$escala_2;
  29.  
  30. //calculamos el nuevo tamaño
  31. $imagen_hori=ceil($ancho_original * $escala_1);
  32. $imagen_ver=ceil ($alto_original * $escala_1);
  33.  
  34. //creamos imagen pequeña vacia
  35. $final=imagecreatetruecolor($imagen_hori,$imagen_ver);
  36.  
  37.  
  38. // copiamos el original en la pequeña escala
  39. imagecopyresized($final,$original,0,0,0,0,$imagen_hori,$imagen_ver,ImageSX($original),ImageSY($original));
  40.  
  41.  
  42.  
  43. //mostramos imagen final
  44. Header("content-type:image/jpg");Imagejpeg($final);
  45. ImageDestroy($final);
  46.  
  47.  
  48. ?>

gracias gente
  #2 (permalink)  
Antiguo 22/05/2013, 09:30
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 11 meses
Puntos: 22
Respuesta: re dimensionar imagen en diferentes formatos

Hola, asi como hay imagecreatefromjpeg tambien existe:

- imagecreatefrompng
- imagecreatefromgif

Saludos.
  #3 (permalink)  
Antiguo 22/05/2013, 09:31
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: re dimensionar imagen en diferentes formatos

ya el problema es que no se como poner para que acepte los 3 o jpg y png
  #4 (permalink)  
Antiguo 22/05/2013, 09:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: re dimensionar imagen en diferentes formatos

Debes usar bloques lógicos, primero debes extraer la extensión o MIME de la imagen a procesar para determinar una acción u otra.

Es decir:
Código PHP:
Ver original
  1. if (strpos($nombre, '.png') !== FALSE) {
  2.   // es PNG
  3. } elseif (strpos($nombe, '.gif') !== FALSE) {
  4.   // es GIF
  5. } else {
  6.   // es JPEG
  7. }

Piensa bien como podrías resolver dichas cuestiones sin tocar código, eso es primero.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 22/05/2013, 09:43
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: re dimensionar imagen en diferentes formatos

pero este código me las pasaría a jpg? a mi no me interesa que una imagen ong pase a jpg, pregunto yo, he
  #6 (permalink)  
Antiguo 22/05/2013, 09:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: re dimensionar imagen en diferentes formatos

A ver, entonces no se entiende lo que estás buscando.

a) Tomar cualquier imagen (PNG, GIF, JPEG), procesarla y convertirla a JPEG únicamente
b) Tomar cualquier imagen (PNG, GIF, JPEG), procesarla y convertirla a su formato original (PNG, GIF, JPEG)

¿Qué acción es la que quieres tomar?

De cualquier forma los bloques lógicos los necesitas para saber el tipo de la imagen, lo que hagas después ya lo debes programar tu, analiza bien lo que requieres.

Y no, ese código no te va a hacer el trabajo, es sólo un ejemplo para que comprendas la lógica que debes plantearte.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 22/05/2013, 09:51
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: re dimensionar imagen en diferentes formatos

necesito procesarla y dejarla en su formato original
  #8 (permalink)  
Antiguo 22/05/2013, 09:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: re dimensionar imagen en diferentes formatos

Pues entonces ya está, revisa las funciones que te han sugerido antes, debes programar la misma lógica para leer y guardar la imagen.

Si lo piensas, las únicas funciones que cambian son imagecreatefrom???() e image???(), así que ahí tienes todo lo necesario para continuar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: formatos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:51.