Ver Mensaje Individual
  #34 (permalink)  
Antiguo 06/03/2008, 05:47
Avatar de farra
farra
 
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 8 meses
Puntos: 20
De acuerdo Re: Edición de imágenes con PHPImagen (Aporte)

una funcion muy util para imagenes:

Código PHP:
function create_tb($img_o,$w_tb,$h_tb,$bg_color){
 
$img_return=imagecreatetruecolor($w_tb,$h_tb);
 if(isset(
$bg_color) && $bg_color != ""){
   
$colorimagecolorallocate($img_returnhexdec(substr($bg_color,0,2)), hexdec(substr($bg_color,2,2)), hexdec(substr($bg_color,4,2))); 
 }else{
  
$colorimagecolorallocate($img_return255255255);
 }
 
    
imagefilledrectangle($img_return00$w_tb$h_tb$color);
 
$wo=imagesx($img_o);
 
$ho=imagesy($img_o);
 
 if(
$wo >= $ho){ 
  
  
$wtb_copy=$w_tb;
  
$htb_copy=($ho*(($w_tb*100)/$wo))/100;
  
$xtb_copy=0;
  
$ytb_copy=($h_tb/2)-($htb_copy/2);
 }elseif(
$ho $wo){
  
  
$wtb_copy=($wo*(($h_tb*100)/$ho))/100;
  
$htb_copy=$h_tb
  
$xtb_copy=($w_tb/2)-($wtb_copy/2);
  
$ytb_copy=0;
 }
 
imagecopyresampled($img_return$img_o$xtb_copy$ytb_copy00$wtb_copy$htb_copy$wo$ho);
 return 
$img_return;


y luego validas antes de crear la imagen, este crea 2 imagenes 1 chica y otra grande:


Código PHP:
$valido true
$file=$_FILES["file"];
    if(
$file["type"]=="image/pjpeg" || $file["type"]=="image/jpg" || $file["type"]=="image/jpeg"){ 
        if(
$file["size"]>=5120000){
              
$valido false;
            echo 
"tamaño incorrecto";
         }
    }else{
        
$valido false;
        echo 
"tipo incorrecto";
    }


    
    if(
$valido){
     
$imgGrande=imagecreatefromjpeg($file["tmp_name"]);
     
$imggrande=create_tb($imgGrande,150,150,"CCE6FF");
            
$imgChica=create_tb($imgGrande,60,60,"CCE6FF");
            
imagejpeg($imggrande,"carpeta/imagen_".($ID).".jpg",60);
            
imagejpeg($imgChica,"carpeta/imagen_".($ID).".jpg",60);
    

    }