Foros del Web » Programando para Internet » PHP »

Problemas con Thumbnails

Estas en el tema de Problemas con Thumbnails en el foro de PHP en Foros del Web. hola a todos sucede que he mirado por toda la web buscando metodos o formas de hacer Thumbnails de imagenes, sucede que tengo ciertas imagenes ...
  #1 (permalink)  
Antiguo 01/04/2008, 13:43
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 23 años, 6 meses
Puntos: 0
Problemas con Thumbnails

hola a todos sucede que he mirado por toda la web buscando metodos o formas de hacer Thumbnails de imagenes, sucede que tengo ciertas imagenes en una carpeta y necesito hacer una Thumbnails de ellas pa formar yuun catalogo encontre 2 librerias pero no funcioan bien
una es
PHPImagen y la que he probado ultimaemnte
y la otra es la libreria de GD pero no funciona naday si funciona solo me muestra una imagen redimensionada

a continuacion les dejo un codigo que no funciona corectamente solo me imprime una imagen
Código PHP:
<?php
require('../../control.php');
$control=new control();
$busquedaModelo=$control->getModelo(new beanModelo("%","","",""));
if(
count($busquedaModelo)!=0) {
    foreach (
$busquedaModelo as $modelos) {
        
//recibiremos el nombre de la imagen por URL 
        
$imagen = "../../imagenes/estufas/".$modelos->getNombre_modelo().".jpg";
        
//echo $imagen."<br>"; 
        
include_once "../../funciones/PHPImagen.lib.php"; 
        
$imagen = new Imagen($imagen);
        
$imagen->doPrint();
    }
}
?>
ojala alguien me pueda ayudar estoy vuelto loco tratando de solucionaresto sin resultado favorable.
Agradesco de antemano toda la ayuda

Atte.
Goomba
  #2 (permalink)  
Antiguo 01/04/2008, 15:07
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 23 años, 6 meses
Puntos: 0
Re: Problemas con Thumbnails ayuda he probado muchas formas y modos pero nada

hola erncontre otros script el cual parece que funciona mejor solo que me manda unos codigos raros no se a que se debe.
el script es este:
Código PHP:
function createThumbnail( $fileName, $width, $height ){
    
    
$src_img = imagecreatefromjpeg($fileName);
    
    
$imageWidth=imageSX($src_img);
    
$imageHeight=imageSY($src_img);
    
    if (
$imageWidth > $imageHeight) {
        
$thumbWidth=$width;
        
$thumbHeight=$imageHeight*($height/$imageWidth);
    }
    if (
$imageWidth < $imageHeight) {
        
$thumbWidth=$imageWidth*($width/$imageHeight);
        
$thumbHeight=$height;
    }
    if (
$imageWidth == $imageHeight) {
        
$thumbWidth=$width;
        
$thumbHeight=$height;
    }
    
    
$dst_img=ImageCreateTrueColor($thumbWidth, $thumbHeight);
    
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imageWidth, $imageHeight);
    
    
imagejpeg($dst_img);
    
imagedestroy($dst_img); 
    
imagedestroy($src_img); 
} 
y para llamar a la funcion uso esto
Código PHP:
  <?php
require('../../control.php');
$control=new control();
$busquedaModelo=$control->getModelo(new beanModelo("%","","",""));
$cont=0;
if(
count($busquedaModelo)!=0) {
    foreach (
$busquedaModelo as $modelos) {
            
//recibiremos el nombre de la imagen por URL 
            
echo $imagen = "../../imagenes/estufas/".$modelos->getNombre_modelo().".jpg";
            
?>
            <div>
           <?php createThumbnail($imagen,100,100); ?>
            </div>
            <?php
            
    
}    
}
?>
bueno mi pero es que me manda lo siguiente y no s epor que

Código HTML:
ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀdd"ÿÄ ÿĵ}!1AQa"q2�‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2�B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?÷êZ( ’–ª]êv6~Ùyon[î‰e Ÿ¦zо”V,¾(ÑJ:ǪZ‡ H&@~§Šùàø·Z¹·Éâ]Md ªÝ²�Ê€>¡¢¼7Ÿ'Òu»›{ËÛýRÝáS›/™±ºŸ˜ôâ½"ÇÇú-Þ�-³ù虘ÍuTU[]FÎôfÖê‡û dÐÑQ@]�— �Äp1Ð⥠Š( Š)(k篌š„‘ü@ŠÜ’WìÈž©þf¾…¯ž>2(ÿ„ø’?fŒŒŽ�Ervº¼¢G‰&mÉ�ËÔ ýi³OmjÍl%i*ªe�Q‚K‡˜gs€§gK�ím)1Þ¤éæ-:ë;KH‰6ñ_JHÇÉdØüêïÙî²Óoˆ=3$iú75½k<ÇPhƒÆíûÙÉÏáÅ:êi&½)ð€€žk‚¶eFŒÜèժ¹•¬a¤z’°h*⌎žlÄø¨5Õx VÖ%ñ�ÆŸxÒÛýƒÍX¼ÂêŒ ‚Ã9äûtôª^'Ò ®’ò™äˆ”,v±â¦ø“ñï=WK_ÖSZáqqĦâ*c*øwI'{Üõ8?ÕÀ›ùš’£ƒýWü ¿™©+¨ç (¢€’–Š+篌üxñ}ìãþm_B×Ï_ÿä|_úó�ùµp±UÈþïü ?ô5ªqv«qõQêéÿ¡ B=L¾xå-)Y,Ã÷ÏGõ*«]NÖã^¿u `�Ò0Ãõ5Ï›»]:òúúR‘Ý}ˆEk+ÿ|–;G¿ü«=`mMžÖKƒæ_K˜d%‰BT®qø×Îãè)×o«>“Ñ\Ï¡¯ñ"ýõkCcjNÕa#0׫ðß{x÷Ui0lBŽ~_0àçßž=«Öé.¼yzøóT cê*÷y*φ£w�õ·þí” ÿ�9®ü*IBI®§Ÿ™(ÆQ„z£ú¯Äÿ3RVjI|&*�ÄÖü�ÅðÄóýqVížáËùð¬`—kç#ßÒ½CÌ'¢Š(h¢Š+çÏ�K�B}l£?øó×ÐuÎx·Ã:N»¤Ü>¡f’Ë .ÑJ8t Á½ºPÌqU´ûÑÿ¾¿úªQ?*\�Ñ‚EÈ=ù�ާ\Òlu9ã{ÝHÁ¦ß,2Œóœäþrâ[KÛx v½ºŠ¢1¸Q�€r Àõ¦SFÓK'�i ¯ÞTÆáøjŒþ7Ò”M>:”ŒãõÅ'_™*Mj–åOCF0ñEå[鬑ç8•Ô úõ'ô®§áIi•%QE-%-1Ã;O4슧ª²ÿd^ò?Ô?þ‚j�ô·.I>Õæ>.ñÕþ™4Ö&Ѷ¼d œäb€<Š1Z:yÅä'ý°ZÆ‚íXío•»ƒZ–oûøÈþð©Òé>xõÏíÙÖ;¨e›+ òÈI“Ø�å[‰.•àHnŽ¡n.îõ‰¤’%H†Þß»$ž-׿§ŸáfÔµ«+ÈZôÚÛZÜ•ŽHW÷„ƒ¸ œŒ;sÒµ-´ÿí‹{‘«2]N®ñ‰ ŽéÒ¸êT´�θBéXËžÖïLð¶—j×Kå¬ä4e, ³ŸbkÞô±·H²_H㢾sÕ…´0éÞeåÄ� °‡|™VOoäkß¼;*麾›Øn’VH”2g ¼c�y®Š7åÔÆ¯ÄjÛÿǼ£ƒþ=ãÿtT•±˜QE´QE1öí;†G¦+šÔlt]ZÕ¾Ófû3·l�Û<¢ºz(żEðjÖö/´iy0ܱM�Ѻ�¡ý+Ìî|;®h�µ¼µ‘HàK}ã…Î3õ¯pø'.ÅsÂŒ ~\Ó„ƒ�€ŸSÉüêy#{Ø®imsÊ,>é–ȯw|¥Pr!‹;àMší4 éZ†}>7i] ~l³g#<Ž=Ç¥tsCñ4r¢º0ÁV¡}:ÒB À�Ž™SýOçTHøâ‘v€QPýjÅ£bŠ1E”Q@Q@Q@Q@Q@ EPEPÿÙ 
ojsla alfguien em pueda ayudar
atte
Goomba
  #3 (permalink)  
Antiguo 01/04/2008, 15:28
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Problemas con Thumbnails ayuda he probado muchas formas y modos pero nada

Hola. Con respecto al código que publicas, te recomiendo leer este mensaje. Aunque el problema es algo diferente, la solución es la misma y la que debes aplicar.

Ahora, dices que probaste PHPImagen. Cuál es el problema que se te presentó? Podrías publicar el código que usaste? (Pd. Esa librería la hice yo, por lo que tal vez podría ayudarte a solucionar el problema)

Un saludo,
  #4 (permalink)  
Antiguo 01/04/2008, 16:52
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 23 años, 6 meses
Puntos: 0
Re: Problemas con Thumbnails ayuda he probado muchas formas y modos pero nada

Originalmente publicado por Goomba
mira mi problema es el siguiente el codigo que uso es este.

Código PHP:
Código PHP:
<?php 
require('../../control.php'); 
$control=new control(); 
$busquedaModelo=$control->getModelo(new beanModelo("%","","","")); 
if(
count($busquedaModelo)!=0) { 
    foreach (
$busquedaModelo as $modelos) { 
        
//recibiremos el nombre de la imagen por URL  
        
$imagen = "../../imagenes/estufas/".$modelos->getNombre_modelo().".jpg"; 
        
$imagen = new Imagen($imagen); 
        
$imagen->doPrint(); 
    } 
} 
?>
la idea que quiero desarollar es un catalogo web de productos para ello necsito realizar cierto ordenamiento con una thumbnail o como se escriba bueno.
dentro del codigo hago una recuperacion de todsos los productos que quiero listar que es la dsiguiente
$busquedaModelo=$control->getModelo(new beanModelo("%","","",""));
bueno mi problema esta que solo me imprime una sola miniatura y no todas las miniaturas que necesito no s epor que ojala me puedas aclarar dodne tengo mi error te agradesco de antemano toda la ayuda. y espero no molestarte.
Atte
Goomba
  #5 (permalink)  
Antiguo 01/04/2008, 17:00
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Problemas con Thumbnails ayuda he probado muchas formas y modos pero nada

El problema es que la librería genera una imagen y la envia al navegador como tal. Si lees el manual de la librería, dice que si usas el método doPrint() la ejecución del script se termina, pues ya no podrás enviar más contenido al navegador. Para este caso se aplicaría también el link que te dí en el mensaje anterior, tanto el problema como la solución.

Lo que puedes (debes) hacer es crear un archivo thumb.php y allí trabajar con el script. Le pasas la URL de la imagen como parámetro por la URL y haces un <img src="thumb.php"/>, algo así:

Código PHP:
require('../../control.php'); 
$control=new control(); 
$busquedaModelo=$control->getModelo(new beanModelo("%","","","")); 
if(
count($busquedaModelo)!=0) { 
    foreach (
$busquedaModelo as $modelos) { 
        
//recibiremos el nombre de la imagen por URL 
        
$imagen = "../../imagenes/estufas/".$modelos->getNombre_modelo().".jpg"; 
        
// $imagen = new Imagen($imagen); 
        // $imagen->doPrint(); 
 
        # Mostramos la imagen generada por thumb.php usando el respectivo <img/>
        
echo "<img src=\"thumb.php?img=$imagen\"/>";
    } 
} 
y en thumb.php
Código PHP:
<?php
include 'PHPImagen.lib.php';
 
# Recibimos la ruta por la URL
$imagen = $_GET['img'];
 
# Instanciamosla clase
$imagen = new Imagen($imagen); 
 
// Aquí algo de redimensión. Puedes usar el método resize();
 
# Imprimimos
$imagen->doPrint(); 
 
?>
Un saludo,
  #6 (permalink)  
Antiguo 01/04/2008, 17:22
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 23 años, 6 meses
Puntos: 0
Re: Problemas con Thumbnails

hola una conuslta mas existe alguna forma de transformar

Cita:
y en thumb.php

Código PHP:
<?php
include 'PHPImagen.lib.php';

# Recibimos la ruta por la URL
$imagen = $_GET['img'];

# Instanciamosla clase
$imagen = new Imagen($imagen);

// Aquí algo de redimensión. Puedes usar el método resize();

# Imprimimos
$imagen->doPrint();

?>
a una funcion dçcon el fin de hacer esto
echo "<img src="funccion()"/>";

esto es solo una consulta porque trate y no me funciono
  #7 (permalink)  
Antiguo 01/04/2008, 17:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 5 meses
Puntos: 2135
Re: Problemas con Thumbnails

Hola Goomba,

No es posible hacer eso, ya que para leer una imagen en explorador necesita el contenido binario de la imagen, para poder desplegarla.

Al tu usar <img src="funcion()" /> pasarías texto el cual no interpreta el navegador, es por eso que tiene que ser un PHP aparte.

Saludos.
  #8 (permalink)  
Antiguo 01/04/2008, 17:33
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Problemas con Thumbnails

No, como te dije, el script genera una imagen (genera y envia el contenido de una imagen). Y en una etiqueta <img/> no colocas el contenido de una imagen, sino su dirección URL. LO que podrías hacer es una función que instancie la clase y guarde la imagen redimensionada en el servidor, usando el método doSave(), y luego retornar la URL con la que guardaste la imagen, algo así:

Código PHP:
function thumb($i) {
 
    
# Analizamos la ruta de la imagen original, y la descomponemos
    
$ruta = pathinfo($i);
    
# Definimos el nombre para la imagen redimensionada que vamos a guardar
    
$nueva_imagen = $ruta['filename']."_redimensionada.".$ruta['extension'];
 
    
$i = new Imagen($i);
 
    
# Guardamos la imagen modificada al servidor
    
$i->doSave($nueva_imagen);
 
    
# Retornamos la ruta de la nueva imagen
    
return $nueva_imagen;
}
 
echo 
'<img src="'.thumb('imagen.gif').'" />';
echo 
'<img src="'.thumb('otra_imagen.jpg').'" />'; 
Pero así estás creando un nuevo archivo por cada imagen que generes. Puede ser conveniente si vas a necesitar la imagen varias veces o tal vez permanentemente.

Un saludo,
  #9 (permalink)  
Antiguo 01/04/2008, 18:20
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 23 años, 6 meses
Puntos: 0
Re: Problemas con Thumbnails

gracias ya solucione lo que necesita te agradasco enormemente aunque lei algo la api no entendio bien esa parte de que solo muestra uno y porque asi funciona bien. el tiempo me abrira la mente pero ya me funciona lo que queria
Gracias nuevamente
Atte
Goomba
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 23:30.