Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2014, 09:32
mensajeescrito
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años
Puntos: 5
Implementar libreria GD a galeria de imagenes

Hola amigos, verán tengo dos codigos que funcionan perfectamente por separado, el problema es que no se implementar uno dentro del otro.

A ver si me pudieran ayudar. Verán:

El primer codigo me genera una galería de imagenes extrayendolas desde una base de datos mysql. Y me va generando una tabla y las celdas necesarias segun el numero de fotos encontradas en la base de datos.
Mostrandose por pantalla todas las miniaturas correctamente.

El segundo codigo genera mediante la libreria GD, una miniatura de una imagen grande encontrada en el directorio que se le indique. Y funciona tambien perfectamente.

El problema como digo es que no se como implementar este codigo que genera una miniatura partiendo de una grande en el codigo de la galeria de imagenes para que me genere las miniaturas de todas las imagenes encontradas en la base de datos.

Si alguien me pudiera hechar una mano le estaria muy agradecido.

Espero que se halla entendido.

Gracias de antemano.

Este es el codigo:

Codigo de galeria de imagenes:

Código PHP:
Ver original
  1. <?php include("conexion_bbdd/conexion_bbdd.php"); ?>  
  2.    
  3.                                 <!-- GALERÍA DE MICRO-IMAGENES ===============================================================================================================================-->  
  4.                                                    
  5.                                 <div class="contenedor_opcs_galerias" style="margin-top:57px; margin-left:38px; width:908px; height:275px;">
  6.                        
  7.                                    
  8.                                     <div style="margin-top:-85px; margin-left:-52px; height:525px;">
  9.                                
  10.                                     <?php
  11.                                
  12.                                     $fotos = mysql_query("SELECT id,foto,comentario_foto FROM fotos_miweb", $conexion);
  13.                                        
  14.                                     //Siempre comprobar que se hayan encontrado datos en la consulta
  15.                                    
  16.                                     if (mysql_num_rows($fotos)){
  17.                                        
  18.                                     ?>
  19.                                    
  20.                                         <table class="contenedor_opcs" border="0" cellpadding="0" cellspacing="5" id="tabla_microfotos" bgcolor="#000000">
  21.  
  22.                                     <?php
  23.    
  24.                                         $i = 0;
  25.                                        
  26.                                         while ($row = mysql_fetch_array($fotos)){
  27.                                            
  28.                                             $f[$i]["foto"] = $row['foto'];
  29.                                            
  30.                                             $f[$i]["comentario_foto"] = $row['comentario_foto'];
  31.                                            
  32.                                             $i++;
  33.                                            
  34.                                         }
  35.  
  36.                                         $grupo = array_chunk($f, 6);
  37.                                      
  38.                                         foreach ($grupo as $sub_grupo){
  39.                                            
  40.                                     ?>
  41.                                    
  42.                                             <tr>
  43.                                            
  44.                                     <?php
  45.                                             foreach ($sub_grupo as $foto){        
  46.                                     ?>
  47.                                    
  48.                                                  <td align='center' valign='middle' height='133px' width='145px'>
  49.  
  50.  
  51.  
  52.                                     <?php
  53.  
  54.                                         if(empty($foto['foto'])) {
  55.                                                                
  56.                                         $foto['foto']="imagenes/micro_foto_por_defecto.jpg";
  57.                                        
  58.                                     ?>
  59.                                    
  60.                                          <img src = '<?=$foto['foto']?>'/>
  61.                                          
  62.                                     <?php
  63.                                    
  64.                                         }
  65.                                                            
  66.                                         else {
  67.  
  68.                                     ?>
  69.  
  70.  
  71.                                                     <a href='<?=$foto['foto']?>' rel='lightbox' title='<?=$foto['comentario_foto']?>'>
  72.                                                            
  73.                                                             <img src = '<?=$foto['foto']?>' class='sombra_blanca' style='max-height: 105px; max-width: 115px;' />
  74.                                                            
  75.                                                     </a>  
  76.                            
  77.                                      
  78.                                                 </td>
  79.                                                
  80.                                                
  81.                                     <?php
  82.                                             }
  83.                                     ?>                                                
  84.                                                
  85.                                                
  86.                                                
  87.                                     <?php
  88.                                             }
  89.                                     ?>
  90.                                    
  91.                                             </tr>
  92.                                            
  93.                                     <?php
  94.                                         }
  95.                                     ?>
  96.                                    
  97.                                         </table>
  98.                                        
  99.                                     <?php
  100.                                    
  101.                                         //Siempre liberar a la memoria de los datos de la consulta cuando ya no necesite
  102.                                         mysql_free_result($fotos);
  103.                                     }
  104.                                     else
  105.                                         echo 'No se encontraron datos en la consulta';
  106.                                        
  107.                                     ?>
  108.  
  109.                                     </div>
  110.                                    
  111.                                 </div>



Codigo que genera una miniatura de una imagen grande con libreria gd:

Código PHP:
Ver original
  1. <?php
  2.  
  3.     //Ruta de la imagen original
  4.    
  5.     $rutaImagenOriginal="./opcs/opc_fotos/galeria_1/los_vengadores.jpg";
  6.  
  7.  
  8.     //Creamos una variable imagen a partir de la imagen original
  9.     $img_original = imagecreatefromjpeg($rutaImagenOriginal);
  10.    
  11.     //Se define el maximo ancho o alto que tendra la imagen final
  12.     $max_ancho = 200;
  13.     $max_alto = 200;
  14.    
  15.     //Ancho y alto de la imagen original
  16.     list($ancho,$alto)=getimagesize($rutaImagenOriginal);
  17.    
  18.     //Se calcula ancho y alto de la imagen final
  19.     $x_ratio = $max_ancho / $ancho;
  20.     $y_ratio = $max_alto / $alto;
  21.    
  22.     //Si el ancho y el alto de la imagen no superan los maximos,
  23.     //ancho final y alto final son los que tiene actualmente
  24.     if( ($ancho <= $max_ancho) && ($alto <= $max_alto) ){//Si ancho
  25.         $ancho_final = $ancho;
  26.         $alto_final = $alto;
  27.     }
  28.     /*
  29.      * si proporcion horizontal*alto mayor que el alto maximo,
  30.      * alto final es alto por la proporcion horizontal
  31.      * es decir, le quitamos al alto, la misma proporcion que
  32.      * le quitamos al alto
  33.      *
  34.     */
  35.     elseif (($x_ratio * $alto) < $max_alto){
  36.         $alto_final = ceil($x_ratio * $alto);
  37.         $ancho_final = $max_ancho;
  38.     }
  39.     /*
  40.      * Igual que antes pero a la inversa
  41.     */
  42.     else{
  43.         $ancho_final = ceil($y_ratio * $ancho);
  44.         $alto_final = $max_alto;
  45.     }
  46.    
  47.     //Creamos una imagen en blanco de tamaño $ancho_final  por $alto_final .
  48.     $tmp=imagecreatetruecolor($ancho_final,$alto_final);   
  49.    
  50.     //Copiamos $img_original sobre la imagen que acabamos de crear en blanco ($tmp)
  51.     imagecopyresampled($tmp,$img_original,0,0,0,0,$ancho_final, $alto_final,$ancho,$alto);
  52.    
  53.     //Se destruye variable $img_original para liberar memoria
  54.     imagedestroy($img_original);
  55.    
  56.  
  57.  
  58.     Header("Content-type: image/jpeg");
  59.    
  60.     imagejpeg($tmp);
  61.    
  62.  
  63. ?>