Foros del Web » Programando para Internet » PHP »

Aplicación de noticias

Estas en el tema de Aplicación de noticias en el foro de PHP en Foros del Web. Saludos. Estoy haciendo una aplicación de noticias, que está casi acabada pero el tema de las miniaturas me está volviendo loco, al principio probe con ...
  #1 (permalink)  
Antiguo 15/08/2004, 04:47
 
Fecha de Ingreso: noviembre-2003
Mensajes: 76
Antigüedad: 14 años
Puntos: 0
Aplicación de noticias

Saludos.
Estoy haciendo una aplicación de noticias, que está casi acabada pero el tema de las miniaturas me está volviendo loco, al principio probe con .gif... pero la función imagegif() que es la única para guardarlas al disco duro (pues quiero guardarlas a disco)... no funciona, asi que deje solo los jpeg... y hace las miniaturas pero a algunas fotos al guardarlas les quita colores y deja como el negativo... este es el script... a ver si alguien me puede ayudar... ya no se que hacer...
<?
function redimensionar($anchura, $altura, $anchura_max, $altura_max)
{
$porcen= $anchura / $altura;
echo"<p>Anchura: ---$anchura--- Altura: ---$altura--- Porcentaje: ---$porcen---";
//Si la anchura es mayor que la altura... (si no es así dará cero coma algo...)
if($porcen > 1)
{
$anchura= $anchura_max;
$altura= $anchura / $porcen;
echo"<p>CALCULADA Anchura: ---$anchura--- Altura: ---$altura--- Porcentaje: ---$porcen---";
return round($altura);
}
//sino es porque la altura es mayor...
else
{
$altura= $altura_max;
$anchura= $altura * $porcen;
echo"<p>CALCULADA Anchura: ---$anchura--- Altura: ---$altura--- Porcentaje: ---$porcen---";
return round($anchura);
}
}

function crear_fotos($nombre_foto, $nombre_variable)
{
$ruta_foto= "./fotos/originales/".$nombre_foto;
$ruta_miniatura= "./fotos/miniaturas/".$nombre_foto;
$ancho_max= 139;
$alto_max= 139;
$calidad= 100;
//Ahora vamos a crear la miniatura de la foto 1 y a guardarla en su directorio "miniaturas"
@copy($nombre_variable, $ruta_foto)
or die("La Foto no se ha podido copiar en el servidor");
$tipo= exif_imagetype($nombre_variable);
//si es un jpg...
if($tipo == 2)
{
$fuente= @imagecreatefromjpeg($nombre_variable)
or die("No se ha podido crear la fuente jpeg");
$ancho_foto= imagesx($fuente);
$alto_foto= imagesy($fuente);
echo"Ancho: ---$ancho_foto--- Alto: ---$alto_foto--- Tipo: ---$tipo---";
if($ancho_foto == $alto_foto)
{
$ancho_mini= $ancho_max;
$alto_mini= $alto_max;
}
elseif($ancho_foto > $alto_foto)
{
$ancho_mini= $ancho_max;
$alto_mini= redimensionar($ancho_foto, $alto_foto, $ancho_max, $alto_max);
}
else
{
$alto_mini= $alto_max;
$ancho_mini= redimensionar($ancho_foto, $alto_foto, $ancho_max, $alto_max);
}
echo"ANCHO MINI: ---$ancho_mini--- ALTO: ---$alto_mini---";
//Ahora la creamos con las nuevas medidas y la guardamos a disco de una jodia vez...
$mini= @imagecreate($ancho_mini, $alto_mini)
or die("La miniatura en blanco no se ha podido crear");

@imagecopyresampled($mini, $fuente ,0,0,0,0, $ancho_mini, $alto_mini, $ancho_foto, $alto_foto)
or die("La redimensión no se ha podido realizar");
//el 75 es la calidad de la foto por defecto si no se pone ninguna y el
//rango puede ser entre 0 y 100 pero de 75 a 100 casi no varía la calidad
//sin embargo ocupa un tercio menos de tamaño en Kb...
//header("Content-type: image/jpeg");
if (imagejpeg($mini, $ruta_miniatura, $calidad))
{
return 1;
}
else
{
return 0;
}

}
}
  #2 (permalink)  
Antiguo 15/08/2004, 12:23
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

imagecreate() crea imagenees indexadas (creo que 256 colores). Usa imagecreatetruecolor().

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 15/08/2004, 19:07
 
Fecha de Ingreso: noviembre-2003
Mensajes: 76
Antigüedad: 14 años
Puntos: 0
Muchisimas gracias, si funciona, y ya me dolia la cabeza de probar cosas... graciaaaaaaaaaaaaaas, joder que bien...
  #4 (permalink)  
Antiguo 17/08/2004, 09:34
Avatar de cadec  
Fecha de Ingreso: junio-2004
Mensajes: 278
Antigüedad: 13 años, 5 meses
Puntos: 0
cual es la direccion de tu sitio de noticias para verlo?

un saludo

_______________________________

Última edición por tunait; 19/08/2004 a las 07:28
  #5 (permalink)  
Antiguo 18/08/2004, 02:53
 
Fecha de Ingreso: noviembre-2003
Mensajes: 76
Antigüedad: 14 años
Puntos: 0
Direccion del sitio

Hola Cadec, te digo la dirección del sitio en le que estoy poniendo esto de las noticias, lo que pasa es que no vas a poder ver como se introducen y demas porque solo pueden entrar los clientes con contraseña... y aun no esta terminado pero algo ya se puede ver...

www.elcinquicopelao.com

Saludos
  #6 (permalink)  
Antiguo 27/08/2004, 13:16
Avatar de cadec  
Fecha de Ingreso: junio-2004
Mensajes: 278
Antigüedad: 13 años, 5 meses
Puntos: 0
El sitio esta muy bueno y entiendo que no puedas dar a la vista la administracion del sitio, ahora mi pregunta es la siguiente es publica la copia del script, yo necesito aun un sistam para postear noticias que no sea muy coplicadado y que se pueda usar para un periodico independiente, seria util algo como lo que colocaste.

de donde lo bajamos.

un saludo

__________________________________
www.todopy.com
  #7 (permalink)  
Antiguo 28/08/2004, 18:31
 
Fecha de Ingreso: noviembre-2003
Mensajes: 76
Antigüedad: 14 años
Puntos: 0
Respuesta a Cadec

Hombre es una aplicación que estoy haciendo para vender a los clientes, de todas formas no está acabado... y tampoco es una aplicación independiente que se pueda instalar como el php Nuke por ejemplo, es decir que está integrada en la web que has visto y aunque intento hacerla lo mas reutilizable que puedo (no llevo mucho tiempo programando en php) no es una aplicación que pudiera compartir para descargar al estar integrada en dicha web. Ahora bien, si tu quieres hacer algo, y tienes preguntas concretas yo puedo pasarte algun script como por ejemplo el que puse al principio de este hilo que se encarga de guardar las fotos y crear las miniaturas...
En lo que te pueda ayudar lo haré encantado.
Saludos
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 16:58.