Foros del Web » Programando para Internet » PHP »

redimensionar imagen

Estas en el tema de redimensionar imagen en el foro de PHP en Foros del Web. Hola a todos! Me gustaria poder redimensionar las imagenes que subo al servidor, os explico, tengo el siguiente codigo: Código PHP: function  marcadeagua ( $img_original ...
  #1 (permalink)  
Antiguo 28/01/2007, 06:38
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
redimensionar imagen

Hola a todos! Me gustaria poder redimensionar las imagenes que subo al servidor, os explico, tengo el siguiente codigo:
Código PHP:
function marcadeagua($img_original$img_marcadeagua$img_nueva$calidad) {

// obtener datos de la fotografia

$info_original getimagesize($img_original);

$anchura_original $info_original[0];

$altura_original $info_original[1];

// obtener datos de la "marca de agua"

$info_marcadeagua getimagesize($img_marcadeagua);

$anchura_marcadeagua $info_marcadeagua[0];

$altura_marcadeagua $info_marcadeagua[1];

// calcular la posición donde debe copiarse la "marca de agua" en la fotografia

$horizextra $anchura_original $anchura_marcadeagua;

$vertextra $altura_original $altura_marcadeagua;

$horizmargen round($horizextra);

$vertmargen round($vertextra);

// crear imagen desde el original

$original ImageCreateFromJPEG($img_original);

ImageAlphaBlending($originaltrue);

// crear nueva imagen desde la marca de agua

$marcadeagua ImageCreateFromPNG($img_marcadeagua);

// copiar la "marca de agua" en la fotografia

ImageCopy($original$marcadeagua$horizmargen$vertmargen00$anchura_marcadeagua,

$altura_marcadeagua);

// guardar la nueva imagen

ImageJPEG($original$img_nueva$calidad);

// cerrar las imágenes

ImageDestroy($original);

ImageDestroy($marcadeagua);


Esta función me guarda la imagen en el servidor y le añade una marca de agua, llamo a la función de la siguiente manera:
Código PHP:
marcadeagua($_FILES['archivo']['tmp_name'],$marca,$dir1.$nombre_archivo,100
Me gustaria que en esta funcion antes de copiar la marca de agua en la imagen original, pudiera redimensionar la imagen por ejemplo a un tamaño de 800x600 sin perder mucha calidad, lo he estado intentando de mil maneras y no me sale.
Si alguien es tan amable de decirme alguna forma se lo agradeceria un monton.
Muchas gracias y un saludo
  #2 (permalink)  
Antiguo 28/01/2007, 06:55
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: redimensionar imagen

Has probado usando imagecopyresampled()?
En la docu tienes ejemplos de como redimenzionar la imagen
__________________
Sin Ideas
  #3 (permalink)  
Antiguo 28/01/2007, 07:24
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Re: redimensionar imagen

Hola oso96_2000, si que lo he probado, lo que pasa es que no acierto en donde ponerlo dentro de la funcion para que con la misma funcion me lo haga, sabrias donde colocarlo en la funcion?
Un saludo
  #4 (permalink)  
Antiguo 28/01/2007, 09:42
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: redimensionar imagen

Si dices que quieres la imagen redimencionada sin la marca de agua, pues tan facil como poner el imagecopyresampled antes de que se agregue esta..
Creo que seria bueno ponerla antes de donde dice:

// crear imagen desde el original
__________________
Sin Ideas
  #5 (permalink)  
Antiguo 28/01/2007, 18:39
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Re: redimensionar imagen

Hola de nuevo!Muchas gracias por tu respuesta. Lo que me trae quebraderos de cabeza es el espacio en el servidor y por eso busco la mejor manera para tratar imagenes. Abriré un nuevo tema para comentarlo. Muchas gracias por tu ayuda.
Un saludo
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 12:59.