Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/07/2006, 16:54
arnold
 
Fecha de Ingreso: mayo-2004
Mensajes: 57
Antigüedad: 19 años, 10 meses
Puntos: 0
Desesperado con los thumbnails

Hola amigos de foros del web, necesito generar miniaturas de las fotos originales en un sitio web que me encuentro

desarrollando... Estoy utilizando Servidor Linux Centos 4.3, Php 4.3.9, Apache 2.0.52 y la libreria GD version bundled (2.0.28

compatible) segun php_info...

El problema es que no encuentro la forma de hacer las miniaturas automaticamente con php, he leido varios articulos de este

sitio, he probado las soluciones que aqui se plantean pero nada, lo hice en Windows y funcion perfectamente, pero en Linux no

me funciona pero tampoco salen errores, no sale la miniatura...

Revise el php_info y tiene la siguiente configuracion:

GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled


ademas en el php.ini agregue la linea:

extension=gd.so;

Logicamente reinicie apache pero sigue sin funcionar, sera que en Linux no se pueden generar thumbnails???

Este es el codigo (los dos scripts se encuentran en el mismo directorio al igual que la foto llamada foto.jpg):

Archivo generar_miniatura.php:

<?php
$filename = "foto.jpg";
$tamano=80;

//imagen desde el archivo jpg
$img = imagecreatefromjpeg($filename);

// Tamaño del Thumbanil (de la imagen a generar ..)
//$picsize = 100;
$picsize = $tamano;

// Se obtienen los datos del ancho y alto de la imagen.
$new_w = imagesx($img);
$new_h = imagesy($img);

// Se calcula la relación alto/ancho
$aspect_ratio = $new_h / $new_w;

// Se ajusta al nuevo tamaño
$new_w = $picsize;
$new_h = abs($new_w * $aspect_ratio);

// Se crea la mascara de la imagen nueva
$dst_img = ImageCreateTrueColor($new_w,$new_h);

// Se copia y reajusta el nuevo tamaño en la nueva imagen.
imagecopyresampled($dst_img,$img,0,0,0,0,$new_w,$n ew_h,imagesx($img),imagesy($img));

// Se entrega al buffer de salida (navegador en este caso) la imagen en formato JPEG
// El tercer parámetro (100) indica la calidad de la imagen: en porcentaje relación calidad/peso imagen.
imagejpeg($dst_img,'',100);
?>


Y este es el codigo para mostrar la foto miniatura:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="">
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="generar_miniatura.php" border="0"></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>

</form>
</body>
</html>


Si alguien me pudiera dar una mano con esto se lo agradeceria demasiado... Un saludo