Foros del Web » Programando para Internet » PHP »

como mejorar este codigo?

Estas en el tema de como mejorar este codigo? en el foro de PHP en Foros del Web. Hola buenas mirad es que tengo este codigo(lo cogi de estos mismos foros ;)): Código PHP: <?php $arc = $_GET [ 'ruta' ]; $image  =  ...
  #1 (permalink)  
Antiguo 03/06/2005, 13:28
Avatar de Diabolus  
Fecha de Ingreso: diciembre-2004
Mensajes: 453
Antigüedad: 13 años
Puntos: 0
como mejorar este codigo?

Hola buenas mirad es que tengo este codigo(lo cogi de estos mismos foros ;)):

Código PHP:
<?php
$arc
=$_GET['ruta'];
$image imagecreatefromjpeg($arc);
$img_w imagesx($image);
$img_h imagesy($image);
$new_img_w $_GET['ancho'];
$new_img_h $_GET['alto'];
$new_img_source imagecreatetruecolor($new_img_w,$new_img_h);
imagecopyresized($new_img_source$image0000$new_img_w$new_img_h,$img_w$img_h);
header("Content-type: image/jpeg");
imagejpeg($new_img_source);
?>
Y quisiera que sin pones el alto de una imagen me la hiciera proporcional...no se si me explico...

Salu2 y gracias
  #2 (permalink)  
Antiguo 03/06/2005, 13:33
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Puedes cambiar en vez de medida fija que sea por un porcentaje, cambia estas lineas
Código PHP:
<?php
$new_img_w 
$_GET['ancho'];
$new_img_h $_GET['alto'];
?>
por estas, teniendo en cuenta que debs darle valor a $porcentaje, ejemplo:
50% = 0.5, 100% = 1, 25% = 0.25
Código PHP:
<?php
$porcentaje 
0.5# 50%
$new_img_w $img_w $porcentaje;
$new_img_h $img_h $porcentaje;
?>
  #3 (permalink)  
Antiguo 03/06/2005, 13:40
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 14 años, 3 meses
Puntos: 4
Para el tema de hacer aparecer una imagen a un tamaño proporcional yo me hice esta clase:
Código PHP:
class Foto{
    var 
$ruta;
    var 
$ancho;
    var 
$alto;
    var 
$tipo;
    var 
$atributos;
    
    
//Constructor
    
function Foto($ruta){
        
$this->ruta=$ruta;
        list(
$this->ancho$this->alto$this->tipo$this->atributos) = getimagesize("ruta/a/la/imagen/".$this->ruta);
    }
    
    function 
verMini(){
        
$anchofinal=110;//es el ancho que tiene que medir la imagen pequeña
        
$altofinal=80;//es el alto que tiene que medir la imagen pequeña
        
if(($this->ancho/$this->alto)==($anchofinal/$altofinal)){
            
$ancho=$this->ancho;
            
$alto=$this->alto;
        }else{
            if((
$this->ancho/$this->alto)<($anchofinal/$altofinal)){
                
$alto=$altofinal;
                
$tmp=$this->alto/$altofinal;
                
$ancho=$this->ancho/$tmp;
            }else{
                
$ancho=$anchofinal;
                
$tmp=$this->ancho/$anchofinal;
                
$alto=$this->alto/$tmp;
            }    
        }
        echo 
'<img src="ruta/a/la/imagen/'.$this->ruta.'" border="0" width="'.$ancho.'" height="'.$alto.'" alt="Click para ampliar">
        '
;    
    }
}
//fin clase 
Tal vez te sirva para lo tuyo.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #4 (permalink)  
Antiguo 03/06/2005, 13:50
Avatar de Diabolus  
Fecha de Ingreso: diciembre-2004
Mensajes: 453
Antigüedad: 13 años
Puntos: 0
gracias a los dos ;)
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 02:34.