Foros del Web » Programando para Internet » PHP »

PHP, Creacion de Thumbnails y GD

Estas en el tema de PHP, Creacion de Thumbnails y GD en el foro de PHP en Foros del Web. De nuevo con el tema de los thumbnails. Este es el codigo que he creado ahora: Cdigo PHP:   $img  =  "01.jpg" ;    $image  =  ...
  #1 (permalink)  
Antiguo 22/05/2004, 09:08
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicacin: Por ah en algn sitio
Mensajes: 1.844
Antigedad: 15 aos
Puntos: 1
PHP, Creacion de Thumbnails y GD

De nuevo con el tema de los thumbnails. Este es el codigo que he creado ahora:
Cdigo PHP:
  $img "01.jpg";
  
$image imagecreatefromjpeg($img);
  
$img_w imagesx($image);
  
$img_h imagesy($image);
  
$new_img_source imagecreate($img_w,$img_h);
  
$new_img_w 168;
  
$new_img_h 126;

  
imagecopyresized($new_img_source$image0000$img_w$img_h$new_img_w$new_img_h);

  
header("Content-type: image/jpeg");
  
imagejpeg($new_img_source); 
ahora no me da errores de programacion ni sintaxis ni nada sino que lo que me manda al navegador es esto:
Cita:
JFIF>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality C    $.' ",#(7),01444'9=82<.342C  2!!222222222222222222222222222222222222222222222 22222X " ĵ}!1AQa"q2#BR$3 br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz  ĵw!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvw xyz ?b:dVǘ! Z) c4[email protected] 4)9FsE;RsKځ3C`.9<N Iޗ4P36[email protected] E/qE1EP@@X\hZN;[email protected]!hE )2(֗)K֊AHh4E⍽4 1KP!4]ݱIEX`hAhBhE&9o| /AI֔h/J\Hh@ĥԣ$Rb(49[email protected] NPI( 4 9(@SR( R( &GZZ(GjC)9 bQށ F1J)[email protected]&i x1s2iE0 ip( H  Q)"h@XZ)( R)) Q[email protected]uE_.3ҁi3A@ B4()H8fPiE( f4b 9 i:Pb/\( LJ)H.2(( 941E8b((٤4 ,4@}i/PF( BKRLKLm_GZqќQ֌b;ڒ&hiqIҀp 1A8ni QKAR{_-!@ J0zb_-E^)QȤԇ aүzhA@4 N(PE.)Zh( (@XJ1Ҍ):R 'QHE)f ׊杌xJL`qz.):R)[email protected]FhJJ^M bRb)0hh  3KH4t SIiUI RXTʀ`@*QKEVIQABE 4#1 QZ;Rc(@ ;@1zҊ;њNiZ6Ri&i:ґE$1Gg[email protected] AJ !J#`(RRI1{P Rc&Qހ 4"RHh`E.1B"Rh)ݳ@ E7f=i;b[email protected]ހ)i_-! @ EJE ҒP)^\ьM<ҁ@ Jx9 zP(I֋A@ĥ))4! QF) 4Qic4FҀF7_-!i)1Iޘ gQ8PM%)@9 sFhZApzhpBcҔtsEZO.i:RG') p(cii'1 z\ҚCҚE)4 RIhc4i:Pqڋ R(!1J0h78`i={R#`#Jo4OT41I 0t)8 )QEQHM!E!Լ~4P0%-P(S !-_Q` (>ZJ `KF)3ZHJ͎,h NM*9\㊕T/JKP  (QE ( Z(EԒ! AES((((( [email protected]QHJ\SE )( )sJ(%[email protected]   QKL[email protected] 3E%!KIJ((4QKE%QH6 Z( ,@ģ
alguien me podra explicar que cosa es esto. Ya en realidad no se que hacer para generar los thumbnails de las imagenes grandes.

Salu2
__________________
Ing. Reynier Prez Mira
  #2 (permalink)  
Antiguo 22/05/2004, 09:36
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigedad: 15 aos, 6 meses
Puntos: 16
Hola,

Ese es el contenido binario de tu imagen. Seguro que no has enviado ninguna salida antes de la cabecera content-type? Ya sabes, ni HTML, ni echo, ni espacios.

Es que el problema parece que el navegador no se esta enterando de que es una imagen (o binario).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 22/05/2004, 09:43
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicacin: Por ah en algn sitio
Mensajes: 1.844
Antigedad: 15 aos
Puntos: 1
Pues sip

josemi lo que tengo pensado hacer con esto es una funcin para que me retorne un thumbnail algo asi como una galeria de imagenes .Esto es una funcin que en realidad es esta:
Cdigo PHP:
 function ThumbnailsCreate($img){
  
$image imagecreatefromjpeg($img);
  
$img_w imagesx($image);
  
$img_h imagesy($image);
  
$new_img_source imagecreate($img_w,$img_h);
  
$new_img_w 168;
  
$new_img_h 126;

  
imagecopyresized($new_img_source$image0000$img_w$img_h$new_img_w$new_img_h);

  
header("Content-type: image/jpeg");
  
imagejpeg($new_img_source);
 } 
ahora donde la llamo tiene todo este cdigo delante:
Cdigo PHP:
...
<td class="txt"><? ThumbnailsCreate($ftech['idimagen']);?></td>
...
no saba si eso tena algo que ver. De todas maneras poner ob_start() al inicio y ob_end_flush() al final no me resuelven ese problema ?

Salu2
__________________
Ing. Reynier Prez Mira
  #4 (permalink)  
Antiguo 22/05/2004, 13:31
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigedad: 15 aos, 6 meses
Puntos: 16
El problema es que no puedes meter el contenido del fichero en el HTML (no estoy seguro, creo que hay una forma pero no es lo normal).

Entonces lo que tienes que hacer es colocar un tag <img> que llame al script que genera solo un thumbnail:
Cdigo PHP:
<img src="thumbnail.php?id=<?php echo $ftech['idimagen'];?>">
y en el script thumbnail.php llamas a la funcion.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 22/05/2004, 14:04
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicacin: Por ah en algn sitio
Mensajes: 1.844
Antigedad: 15 aos
Puntos: 1
Ya entendi

gracias josemi ya entendi lo que me dices
Salu2
__________________
Ing. Reynier Prez Mira
  #6 (permalink)  
Antiguo 22/05/2004, 14:07
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicacin: Por ah en algn sitio
Mensajes: 1.844
Antigedad: 15 aos
Puntos: 1
pero porque

No me redimensiona la imagen me la deja en su tamao original, es decir, 800x600 y lo que quiero es ponerla en 300X200 por ejemplo.
cual es el problame?
Salu2
__________________
Ing. Reynier Prez Mira
  #7 (permalink)  
Antiguo 22/05/2004, 15:35
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigedad: 14 aos
Puntos: 13
imagecopyresized($new_img_source, $image, 0, 0, 0, 0, $img_w, $img_h, $new_img_w, $new_img_h);

eso es lo que tienes.... pero tienes al reves los parametros para las dimensiones:

imagecopyresized($new_img_source, $image, 0, 0, 0, 0, $new_img_w, $new_img_h,$img_w, $img_h);

debe ir en ese orden: ancho_nuevo, alto_nuevo,ancho_original,alto_original
__________________
El conocimiento es libre: Movimiento por la Devolucin
  #8 (permalink)  
Antiguo 22/05/2004, 22:30
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicacin: Por ah en algn sitio
Mensajes: 1.844
Antigedad: 15 aos
Puntos: 1
Ahora si pero ...

Ahora si redimensiono pero me dejo el color de fondo de la imagen detras con los tamaos originales. Para explicarme mejor:
la imagen normal tiene fondo verde, ahroa cuando trato de redimensionarla todo ok. Me la pone a los tamaos que yo quiero pero me deja en el tamao original de la imagen un fondo verde de 800x600 que es el tamao original. Alguna idea de que puede ser?

Salu2
__________________
Ing. Reynier Prez Mira
  #9 (permalink)  
Antiguo 22/05/2004, 23:20
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigedad: 14 aos
Puntos: 13
perdon se me habia olvidado otro error que cometias:

esto que tienes asi:

$new_img_source = imagecreate($img_w,$img_h);
$new_img_w = 168;
$new_img_h = 126;

debe ir asi:

$new_img_w = 168;
$new_img_h = 126;
$new_img_source = imagecreate($new_img_w,$new_img_h);
__________________
El conocimiento es libre: Movimiento por la Devolucin
  #10 (permalink)  
Antiguo 23/05/2004, 14:47
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicacin: Por ah en algn sitio
Mensajes: 1.844
Antigedad: 15 aos
Puntos: 1
Ahora si

Gracias a todos ya me funciona correctamente.
Salu2
__________________
Ing. Reynier Prez Mira
  #11 (permalink)  
Antiguo 20/06/2004, 09:53
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicacin: self.location.href
Mensajes: 2.665
Antigedad: 14 aos, 1 mes
Puntos: 45
Pregunta rebuscando encontre este mensaje

Cita:
Iniciado por josemi
El problema es que no puedes meter el contenido del fichero en el HTML (no estoy seguro, creo que hay una forma pero no es lo normal).
Querria saber cmo es esta manera. Tengo un servidor gratuito (yahoo) en el que meten contenido antes de la pagina, asi que aunque modifique el header, el contenido sigue siendo texto. Cmo insertar una imagen en un documento directamente?

Gracias y saludos.
__________________
- Haz preguntas inteligentes, y obtendrs ms y mejores respuestas.
- Antes de postearlo Intntalo y Bscalo.
- Escribe correctamente tus mensajes.
  #12 (permalink)  
Antiguo 21/06/2004, 08:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicacin: Santiago - Chile
Mensajes: 34.417
Antigedad: 15 aos, 11 meses
Puntos: 126
Cita:
Iniciado por derkenuke
Querria saber cmo es esta manera. Tengo un servidor gratuito (yahoo) en el que meten contenido antes de la pagina, asi que aunque modifique el header, el contenido sigue siendo texto. Cmo insertar una imagen en un documento directamente?

Gracias y saludos.
En tu caso particular .. da igual como llames a tu archivo y envies tus cabeceras HTTP .. Tu servicio de hosting siempre va a lanzar su prpia salida -antes- que las cabeceras HTTP que lanzes tu mismo

Ese cdigo HTML (de su publicidad .. etc) que incrustra en todas tus pginas son los que van a ocasionar esos errores referentes a "header" si los usass = no hay solucin (en tu caso particular cambia de servicio de hosting).

Un saludo,
  #13 (permalink)  
Antiguo 21/06/2004, 17:34
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicacin: self.location.href
Mensajes: 2.665
Antigedad: 14 aos, 1 mes
Puntos: 45
Gracias, personalmente cambiar o linkar una pagina de otro servidor ; )
__________________
- Haz preguntas inteligentes, y obtendrs ms y mejores respuestas.
- Antes de postearlo Intntalo y Bscalo.
- Escribe correctamente tus mensajes.
Atencin: Ests leyendo un tema que no tiene actividad desde hace ms 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 05:34.