Foros del Web » Programando para Internet » PHP »

detectar ancho y alto de una imagen dinamica

Estas en el tema de detectar ancho y alto de una imagen dinamica en el foro de PHP en Foros del Web. hola estoy haciendo un mostrario de fotos , donde aparece la foto en grande y chica, la cual es siempre la misma foto, ya que ...
  #1 (permalink)  
Antiguo 14/03/2006, 09:58
 
Fecha de Ingreso: febrero-2006
Mensajes: 208
Antigüedad: 11 años, 10 meses
Puntos: 0
detectar ancho y alto de una imagen dinamica

hola estoy haciendo un mostrario de fotos , donde aparece la foto en grande y chica, la cual es siempre la misma foto, ya que no estoy utilizando thumbnails.

mi problema es que al mostrar las fotos en pequeño formato tengo que ponerlas todas a un mismo tamaño, pero las que son mas verticales quedan muy deformes. por esto estoy intentando crear una funcion que diga si el alto es mayor que el ancho, entonces que el alto sea = a 70 px por ejemplo.
el problema en este punto es que no se como detectar el ancho o el alto de una imagen

tiene que ver con la funcion file? file[ancho][alto]?

saludos
__________________
michelson
-----------------
crossing snow mountains with a yamaha bike
  #2 (permalink)  
Antiguo 14/03/2006, 10:17
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 12 años, 4 meses
Puntos: 3
$new_w = imagesx($img);
$new_h = imagesy($img);

puedes abrir la imagen con imagecreatefromjpeg ($nombreimg) bueno depende el
tipo, una ves que ya tienes eso, te regres aun identificador valido, donde ya puedes usar las funciones de arriba.
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #3 (permalink)  
Antiguo 14/03/2006, 12:10
 
Fecha de Ingreso: febrero-2006
Mensajes: 208
Antigüedad: 11 años, 10 meses
Puntos: 0
hola

hola no entiendo mucho lo que planteas. ya que no estoy haciendo un upload de fotos , sino que las estoy llamando asi

<img src="fotos/<? echo regitrs['nombre_foto'] ?>">

entonces si quisiera detectar el ancho o el alto
$new_w = imagesx($img);
$new_h = imagesy($img);

no se como aplicarlo tendria que hacer una funcion no?
__________________
michelson
-----------------
crossing snow mountains with a yamaha bike
  #4 (permalink)  
Antiguo 14/03/2006, 13:09
 
Fecha de Ingreso: febrero-2006
Mensajes: 208
Antigüedad: 11 años, 10 meses
Puntos: 0
hola

creo que asi se resuelve el problema, pero esta practica gasta recurso de memoria? hace que se demore mas la carga de fotos?


<?php
$img = @imagecreatefromjpeg( "../fotos_artistas/".$row_ve_artista['foto'] );

if ($img){
$img_width = imagesx($img);
$img_height = imagesy($img);

echo "My alto es " . $img_height. "pixeles";
echo "My ancho es " . $img_width. "pixeles";
}
?>




gracias
__________________
michelson
-----------------
crossing snow mountains with a yamaha bike
  #5 (permalink)  
Antiguo 14/03/2006, 15:28
Avatar de jpvilar  
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires - Argentina
Mensajes: 128
Antigüedad: 12 años, 10 meses
Puntos: 1
A ver si tiene que ver con algo que hice en algún momento ... te paso el código y después contame si te sirve:

Código PHP:
<?
echo "<img src=\"images/$array[imagen_nombre]\""// abro el HTML para mostrar la imagen
$size getimagesize("images/$array[imagen_nombre]"); //tomo la imagen origen
$img=imagecreate($size[0],$size[1]); // averiguo las dimensiones ancho-alto
$max 70// tamaño máximo que puedo mostrar          
if ($size[0] > $max) { // si el ancho es mayor que $max
echo " width=$max>"// le doy el ancho en el HTML
}
else {
echo 
">"// cierro el HTML de la imagen
}                      
 
?>
Espero sea algo así lo que necesitas y te sirva.
Saludos
JuanP
__________________
JuanP
QUIEN NO SE EQUIVOCA NO APRENDE ...
QUIEN NO APRENDE SE EQUIVOCA ... PERO NO APRENDE
  #6 (permalink)  
Antiguo 14/03/2006, 15:55
 
Fecha de Ingreso: diciembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 4
Puedes probar esto tambien a ver si te sirve:
Código PHP:
<?
$datos 
getimagesize(rutaimagen);
$ancho $datos[0]; // el ancho
$alto $datos[1]; // la altura

$limite 100// el tamaño maximo

if ($alto $ancho) {
 
$altura $limite;
 
$anchura = (($limite $ancho)/$alto);
 
$anchura round($anchura); // redondeamos los decimales

} else {
 
$anchura $limite;
 
$altura = (($limite $alto)/$ancho);
 
$altura round($altura);
}
?>
luego le das de ancho $anchura y de alto $altura a la imagen.
Te sirve tanto para imagenes mas altas que anchas como para imagenes mas anchas que altas o para imagenes cuadradas.

Hasta luego
  #7 (permalink)  
Antiguo 14/03/2006, 18:24
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 13 años, 10 meses
Puntos: 5
Bueno amigo la manera más simple seria asi :

Código PHP:
<?
$img_info 
getimagesize($file); //Tu imagen
$ancho=$img_info[0];
$alto=$img_info[1];

echo 
"Ancho : $ancho<br>" // Imprimes el ancho de la imagen
echo "Alto : $alto<br>" // Imprimes el alto de la imagen
?>
Saludos.-
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
  #8 (permalink)  
Antiguo 14/03/2006, 23:16
 
Fecha de Ingreso: febrero-2006
Mensajes: 208
Antigüedad: 11 años, 10 meses
Puntos: 0
mucha muchas gracias

señores , muchas gracias por las ayudas
este foro es lo mejor.
__________________
michelson
-----------------
crossing snow mountains with a yamaha bike
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:56.