Foros del Web » Programando para Internet » PHP »

Redimensionar imagen y encajar

Estas en el tema de Redimensionar imagen y encajar en el foro de PHP en Foros del Web. Hola, tengo un problema y no se como platearlo, quiero que al subir una imagen de una persona por ejemplo se reduzca y se encaje ...
  #1 (permalink)  
Antiguo 18/05/2008, 15:57
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 4 meses
Puntos: 0
Redimensionar imagen y encajar

Hola, tengo un problema y no se como platearlo, quiero que al subir una imagen de una persona por ejemplo se reduzca y se encaje en una imagen cuadrada tipo 100x100 puesto que casi todas las imagenes no son cuadradas no se como plantearlo, m gustaria que se encajase en la imagen 100x100 x ejemplo la parte central de la fotografia, las funciones se las que debo usar pero no se omo calcular las coordenadas y el tamaño aqui dejo mi script:

Cita:

$info = getimagesize($_FILES['archivo']['tmp_name']);
switch ($info[2]) {
case 1:
$imagen = imagecreatefromgif($_FILES['archivo']['tmp_name']); break;
case 2:
$imagen = imagecreatefromjpeg($_FILES['archivo']['tmp_name']); break;
case 3:
$imagen = imagecreatefrompng($_FILES['archivo']['tmp_name']); break;
// etcétera //
}

$original = $imagen;
$ancho = imagesx($original);
$alto = imagesy($original);

$img = imagecreatetruecolor(100, 100);

// AKI SUPONGO QUE HABRA QUE HACER LOS CALCULOS PERO NO SE COMO

imagecopyresized($img,$muestra,0,0,0,0,$x,$y,$anch o,$alto);
imagejpeg($img,"$nombre_imagen.jpeg","100")
Si alguien m puede ayudar se lo agradeceria muxisimo. un saludo
  #2 (permalink)  
Antiguo 18/05/2008, 16:11
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Redimensionar imagen y encajar

Hola:

El cálculo no es más que la regla de 3... al mayor de los valores entre ancho y alto le das el tamaño 100, y al menor la asignas esa operación (menor x 100 / mayor)... lo de ponerlo en 100x100 no creo que sea buena idea... yo hago a veces redimensiones y procuro hacerlas exactas, pero a la hora de mostrarlas las centro con estilos (incluso como fondo de una capa no necesito calcularlos)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 18/05/2008, 16:28
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Redimensionar imagen y encajar

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

El cálculo no es más que la regla de 3... al mayor de los valores entre ancho y alto le das el tamaño 100, y al menor la asignas esa operación (menor x 100 / mayor)... lo de ponerlo en 100x100 no creo que sea buena idea... yo hago a veces redimensiones y procuro hacerlas exactas, pero a la hora de mostrarlas las centro con estilos (incluso como fondo de una capa no necesito calcularlos)

Saludos
Pero quiero hacer una especie de foro en que los usarios comentan. y la foto que tienen quiero que salga cuadrada, pa ke no haya imagenes de diferentes dimensiones, cuestion de stetica, y lo hacia simplemente obligandola con <img height="100" width="100" /> pero claro algunas se veian muy estiradas y queda fatal... como es la mjor forma para solucionar eso???

gracias.
  #4 (permalink)  
Antiguo 18/05/2008, 16:48
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Redimensionar imagen y encajar

Hola:

Si no te importa que se vea deformada, fíjate en los valores que acepta imagecopy resized... creo que sería así:

imagecopyresized($img,$muestra,0,0,0,0,100,100,$anch o,$alto);...

Si no quieres que se deforme, creo que los pasos lógicos sería primero poner el cuadrado, pero luego darle un fondo adecuado (blanco o tal vez gris):
$gris = imagecolorallocate($img, 127, 127, 127);
imagefill($img, $gris);

Luego hacer los cálculos para el tamaño, y copiar esos cálculos en las coordenadas de la miniatura...

... pero insisto que ese cálculo es en mi opinión absurdo, ya que en un cuadrado de 100x100 puedes centrar una imagen de 100x30/30x100 (o cualquier otro) y nadie se dará cuenta... simplemente haciendo que esa imagen aparezca centrada en una capa con estilos...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 18/05/2008, 17:04
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Redimensionar imagen y encajar

muchas gracias x la ayuda, pero ske no se como hacer lo de los estilos.. ya no se por dnde tirar, otra cosa que se me olvidaba, las imagenes reales llevan una firma que le añado con imagestring() por eso tb m interesaba crear otra mas pequeña en la que no se vea, y al pinchar en ella, llevaria un enlace a la original, la cual esta firmada.

no se si con las capas esas se puede conseguir lo que yo deseo. ¿que tengo k buscar para aprender a hacer eso? stilos CSS y capas?? ske no se lo que es. muxas asias x todo. un saludo
  #6 (permalink)  
Antiguo 06/11/2009, 00:32
 
Fecha de Ingreso: agosto-2007
Ubicación: Duitama Boyaca Colombia
Mensajes: 18
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Redimensionar imagen y encajar

muuuuuchos años despues

para redimensionar la imagen solo debebemos usar

<img src='foto.bmp' width=100px />

<img src='foto.bmp' height=100px />

Solo se usa una de las; o bien alto , o ancho.
al usar solo una de las 2 propiedades el navegador ajusta automaticamente la otra propiedad.
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 22:04.