Foros del Web » Programando para Internet » PHP »

Cambiar tamaño de imagen

Estas en el tema de Cambiar tamaño de imagen en el foro de PHP en Foros del Web. Buenas... me he trabado con algo relativamente sencillo. Busque codigo en la web pero me parece demasiado engorroso... creo que hay una manera mas sencilla ...
  #1 (permalink)  
Antiguo 08/03/2010, 08:35
 
Fecha de Ingreso: octubre-2007
Mensajes: 44
Antigüedad: 16 años, 6 meses
Puntos: 0
Cambiar tamaño de imagen

Buenas... me he trabado con algo relativamente sencillo. Busque codigo en la web pero me parece demasiado engorroso... creo que hay una manera mas sencilla de solucionar el problema y estoy seguro que aquí encontrare la solución. Les paso a explicar. Intentando adaptar mi página a Mozilla y IE para que se vea bien en ambos navegadores me vi en la necesidad de cargo una imagen a una variable php:

$marco_menu = "<img src='./img/rectangulo_menu.jpg'>";

Luego la pongo de imagen de fondo para una tabla. Ahora esta imagen debe ser apenas un poco mas pequeña en proporsiones que la tabla. En un config tengo seteados el alto y ancho de la tabla, por lo que pense hacer un función en la cual pasar la imagen, ancho de la tabla, alto de la tabla y en esa función darle el ancho y alto a la imagen apenas menor usando los valores que pase, cosa que si algún día cambio el tamaño de la tabla, automáticamente se cambie el tamaño de la imagen...

echo "<table background=".dimensiona($marco_menu,$width_menu_manuales,$height_menu_manu ales).
" width=".$width_menu_manuales." height=".$height_menu_manuales.">"
;

Alguien sabe alguna función sencilla que podría usar para devolver la imagen con el tamaño que yo quiera?
  #2 (permalink)  
Antiguo 08/03/2010, 08:41
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 10 meses
Puntos: 127
Respuesta: Cambiar tamaño de imagen

lo mejor es hacerlo con javascript.
pero aqui hay algo interesante al trabajar con imagenes en php

http://www.verot.net/php_class_upload_samples.htm

su creador lo propone como una forma de cargar imagenes pero tambien sirve para muchas cosas mas.
  #3 (permalink)  
Antiguo 08/03/2010, 09:00
 
Fecha de Ingreso: octubre-2007
Mensajes: 44
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Cambiar tamaño de imagen

Gracias enlinea777... voy a mirar y luego te cuento como me fue!
  #4 (permalink)  
Antiguo 08/03/2010, 09:12
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 10 meses
Puntos: 127
Respuesta: Cambiar tamaño de imagen

Cita:
Iniciado por marote Ver Mensaje
Gracias enlinea777... voy a mirar y luego te cuento como me fue!
ejemplo
esto crea una imagen de tamaño personalisado:

Código PHP:
$handle = new upload('imagen.jpg'); //cargamos la imagen
$handle->image_resize          true;  //le decimos que se pueda redimencionar
$handle ->image_x              =$_GET[x]; //cambio de tamaño
$handle ->image_y             =$_GET[y]; //cambio de tamaño
$handle->jpeg_quality          50//cambio la calidad
header('Content-type: ' $handle->file_src_mime); // indicamos que es un archivo jpg, no un php.
echo $handle->Process(); //imprimimos los bits de la imagen
die(); //salimos 
  #5 (permalink)  
Antiguo 08/03/2010, 11:02
 
Fecha de Ingreso: octubre-2007
Mensajes: 44
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Cambiar tamaño de imagen

Me dice que no encuentra la clase upload... hay que descargarla?
  #6 (permalink)  
Antiguo 08/03/2010, 17:46
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 10 meses
Puntos: 127
Respuesta: Cambiar tamaño de imagen

claro que si me amigo.
desde aca.

http://www.verot.net/php_class_uploa...7e05da4910b13b
  #7 (permalink)  
Antiguo 08/03/2010, 23:26
 
Fecha de Ingreso: octubre-2007
Mensajes: 44
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Cambiar tamaño de imagen

He descargado la clase... pero me pasa lo siguiente:

$marco_menu = new upload("./img/rectangulo_menu.jpg");
$marco_menu->image_resize = true;

...

<?php echo "<table background=". dimensiona($marco_menu,$width_menu_manuales,$height_menu_manu ales).
" width=".$width_menu_manuales." height=".$height_menu_manuales.">"; ?>

Y en la función hago lo siguiente:

function dimensiona($imagen,$width,$height){

$imagen ->image_x = ($width - 10);
$imagen ->image_y = ($height - 10);
return $imagen;

}

y me tira el siguiente error: Catchable fatal error: Object of class upload could not be converted to string in C:\xampp\htdocs\locoXmiPC\Index.php on line 92
  #8 (permalink)  
Antiguo 09/03/2010, 11:11
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 10 meses
Puntos: 127
Respuesta: Cambiar tamaño de imagen

suponiendo que has colocado bien la clase en un include.

el error esta aqui; ./img/rectangulo_menu.jpg
no se por que colocas un ponto antes de la carpeta.
  #9 (permalink)  
Antiguo 09/03/2010, 11:39
 
Fecha de Ingreso: octubre-2007
Mensajes: 44
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Cambiar tamaño de imagen

El problema con la clase es que no me permite imprimir la imagen utilizando el echo... ahi es cuando me tira el error. No se si tendra alguna propiedad que me permita mostrarla en pantalla... o si solo me permite modificar la imagen, luego tengo que guardarla e imprimirla utilizando simplemente html...

En todo caso, si fuera mejor, lo haría con javascript...
  #10 (permalink)  
Antiguo 09/03/2010, 11:52
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 10 meses
Puntos: 127
Respuesta: Cambiar tamaño de imagen

has esto:

crea un archivo llamado imagen.php

y lo llenas asi
Código PHP:
include('class.upload.php');
$handle = new upload('/img/rectangulo_menu.jpg'); //cargamos la imagen
$handle->image_resize          true;  //le decimos que se pueda redimencionar
$handle ->image_x              =$_GET[x]; //cambio de tamaño
$handle ->image_y             =$_GET[y]; //cambio de tamaño
$handle->jpeg_quality          50//cambio la calidad
header('Content-type: ' $handle->file_src_mime); // indicamos que es un archivo jpg, no un php.
echo $handle->Process(); //imprimimos los bits de la imagen
die(); //salimos 
luego a tu codigo lo modificas asi:

Código PHP:
<?php echo  echo '<table style="background-image:url(imagen.php?x='.$width_menu_manuales.'&y='.$height_menu_manuales.'">'?>
asi no deverias de tener problema al cargar la imagen.
como puedes ver tu le pasas el ancho y el largo al archivo imagen.php como X y Y
  #11 (permalink)  
Antiguo 09/03/2010, 15:26
 
Fecha de Ingreso: octubre-2007
Mensajes: 44
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Cambiar tamaño de imagen

Te he hecho caso y he hecho lo siguiente:


Código PHP:
Ver original
  1. <table style="background-image:url(imagen.php?x=<?php echo $x_menu_programas;?>&y=<?php echo $y_menu_programas;?>)" width="<?php echo $x_menu_programas;?>" height="<?php echo $y_menu_programas;?>">

Si miramos el codigo fuente de la pagina se ve lo siguiente:

Código HTML:
Ver original
  1. <table style="background-image:url(imagen.php?x=200&y=400)" width="200" height="400">

Y en la pagina imagen.php:

Código PHP:
Ver original
  1. <?php
  2. echo "hola";
  3. include("/class/class.upload_0.29/class.upload.php");
  4.  
  5. echo "hola";
  6. if (isset($_GET["x"])){
  7.    
  8.     $x = $_GET["x"];
  9.     $y = $_GET["y"];
  10. }else{
  11.    
  12.     echo "no llega";
  13. }
  14.  
  15. $handle = new upload('../../img/rectangulo_menu.jpg'); //cargamos la imagen
  16. $handle->image_resize = true;  //le decimos que se pueda redimencionar
  17. $handle ->image_x = ($x-10); //cambio de tamaño
  18. $handle ->image_y = ($y-10); //cambio de tamaño
  19. $handle->jpeg_quality = 50; //cambio la calidad
  20.  
  21. header('Content-type: ' . $handle->file_src_mime); // indicamos que es un archivo jpg, no un php.
  22.  
  23. echo $handle->Process(); //imprimimos los bits de la imagen
  24. echo "no sale";
  25. die(); //salimos
  26.  
  27. ?>

y me hace la tabla pero no le pone imagen de fondo y no me imprime ni siquiera el hola por lo que quiere decir que no entra a imagen.php... algo falla antes.

Etiquetas: tamaño
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 20:58.