Foros del Web » Programando para Internet » PHP »

unir 2 imagenes

Estas en el tema de unir 2 imagenes en el foro de PHP en Foros del Web. hola a todos. Mi pregunta es la siguiente: Resulta que tengo que subir unas imagenes y a esta la tengo que aplicar una especie de ...
  #1 (permalink)  
Antiguo 30/09/2007, 16:26
 
Fecha de Ingreso: enero-2004
Ubicación: Medellin
Mensajes: 178
Antigüedad: 20 años, 3 meses
Puntos: 8
unir 2 imagenes

hola a todos.

Mi pregunta es la siguiente:
Resulta que tengo que subir unas imagenes y a esta la tengo que aplicar una especie de marco redondeado.

tengo el marco redondeado, mi pregunta es, como hago para meter la imagen en el centro de este marco, ya sea usando GD o el metodo que ustedes me recomienden.


Muchas gracias
  #2 (permalink)  
Antiguo 30/09/2007, 21:45
 
Fecha de Ingreso: enero-2004
Ubicación: Medellin
Mensajes: 178
Antigüedad: 20 años, 3 meses
Puntos: 8
Re: unir 2 imagenes

ya lo logré.

muchas gracias!!
  #3 (permalink)  
Antiguo 30/09/2007, 22:47
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
Re: unir 2 imagenes

Cita:
Iniciado por vicman Ver Mensaje
ya lo logré.

muchas gracias!!
hola, como lo hiciste ?
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #4 (permalink)  
Antiguo 01/10/2007, 10:58
 
Fecha de Ingreso: noviembre-2006
Mensajes: 38
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: unir 2 imagenes

Ojalá colocaras el codigo para los que necesitamos algo similar.
  #5 (permalink)  
Antiguo 01/10/2007, 13:29
 
Fecha de Ingreso: enero-2004
Ubicación: Medellin
Mensajes: 178
Antigüedad: 20 años, 3 meses
Puntos: 8
Re: unir 2 imagenes

les cuento, que es muy sencillo, pongo el codigo tal cual como lo tengo en la clase.
Nota: Etoy usando codeigniter como framework.

Código PHP:

class Banners extends Controller {

    function 
Banners ()
    {
        
#setea las variables iniciales
        
parent::Controller();
        
$this->load->helper('form');
        
$this->load->library('validation');
               
     }
     
     
    function 
index()
    {
        
        if (
false == $this->site_sentry->is_logged_in()) #si no esta logueado lo devuelve al login
        
{
           
redirect('login/logout''location');
            exit;
        }
    }
    
    function 
crear()
    {
         if (
false == $this->site_sentry->is_logged_in()) #si no esta logueado lo devuelve al login
         
{
             
redirect('login/logout''location');
             exit;
         }
         
         
$accion$this->input->post('pageaction');
        
         
#guarda un nuevo archivo
         
if('add' === $accion)
         { 
              
//echo "sube el archivo"; 
              
$archivo $_FILES["userfile"]["tmp_name"]; 
              if (
trim($archivo) != "")
              {
                 
$filePath 'uploads/images/banner/';
                 
#carga los parametros para subir el archivo          
                 
$config['upload_path'] = $filePath;
                 
$config['allowed_types'] = 'gif|jpg|png';
                 
$field_name "userfile";              
                 
$this->load->library('upload'$config);
                 
                     if ( ! 
$this->upload->do_upload())
                     {
                           
$error = array('error' => $this->upload->display_errors());    
                           
pprint_r($error);        
                           
//$this->load->view('upload_form', $error);
                     
}    
                     else
                    {
                          
#el archivo se subio correctamente
                          
$dataupload = array('upload_data' => $this->upload->data());
                          
$archivo_nombre $dataupload['upload_data']['file_name'];
                          
$archivo_tipo   $dataupload['upload_data']['file_type'];
                          
$ext    $dataupload['upload_data']['image_type'];    
                          
pprint_r($dataupload);    
                          
                          
#Redimensiono la imagen                          
                          
$config['source_image'] = $filePath $archivo_nombre;
                          
$config['create_thumb'] = FALSE;
                          
$config['maintain_ratio'] = TRUE;
                          
$config['width'] = 80;
                          
$config['height'] = 80;    
                          
$config['quality'] = 100;                        
                          
$this->load->library('image_lib'$config);
                          
$this->image_lib->resize();
                          
                          
                          
$img1 $filePath "marco.jpg"// imagen de fondo
                          
$img2 $filePath $archivo_nombre//imagen subida
                          // Creamos las dos imágenes a utilizar
                          
$imagen1 imagecreatefromjpeg($img1);
                          if (
$ext == 'jpg' || $ext == 'jpeg')
                          {
                              
$imagen2 imagecreatefromjpeg($img2);
                          }
                          else if (
$ext == 'png')
                          {
                              
$imagen2 imagecreatefrompng($img2);
                          }
                          else if (
$ext == 'gif')
                          {
                              
$imagen2 imagecreatefromgif($img2);
                          }
                          if(
$imagen2)
                          {
                          
                              
$x intval(imagesx($imagen1)-imagesx($imagen2))/2;
                              
$y intval(imagesy($imagen1)-imagesy($imagen2))/2;
                              
imagecopy($imagen1,$imagen2,$x,$y,0,0,80,80);//imagecopy($img1,$img2,x1,y1,x2,y2,ancho,alto);
                              #guarda la nueva imagen
                              
if ($ext == 'jpg' || $ext == 'jpeg')
                              {
                                  
imagejpeg($imagen1$filePath .$archivo_nombre);
                              }
                              else if (
$ext == 'png')
                              {
                                
imagePng($imagen1$filePath .$archivo_nombre);
                              }
                               else if (
$ext == 'gif')
                              {
                                
ImageGif($imagen1$filePath .$archivo_nombre);
                              }
                              else
                              {
                                
imagejpeg($img,$save_path,85);
                              }
                            
                              
// Destruimos ambas imágenes
                              
imagedestroy($imagen2);
                              
imagedestroy($imagen1);
                               
#aqui guarda en base de datos                  
                             
                              
                         
}
                         else
                         {
                            echo 
"No fue posible aplicarle el fondo a la imagen";                            
                            
#que elimine la imagen que subio
                         
                         
}
                           
        
                         
#todo exitoso, redirecciona a la pagina principal
                     
}
             }
             else
             {
                echo 
"debe seleccionar un archivo de imagen";
             
             }
              
         }
         else
         {
            
$data['edv_titulo'] = 'Banners ->Crear banner';
         
            
$data2['prueba'] = "";
            
$data['edv_body'] =  ($this->load->view('banners/crear',$data2,true));
            
$this->load->view('home/plantilla_admin'$data);
         }
    
    
    
    }    
        
    

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 06:55.