Foros del Web » Programando para Internet » PHP »

Redimensionar y crear marco despues

Estas en el tema de Redimensionar y crear marco despues en el foro de PHP en Foros del Web. He creado un script para primero redimensionar una imagen y despues trazar un marco o rectangulo. Todos los datos se los paso de momento por ...
  #1 (permalink)  
Antiguo 26/11/2004, 04:28
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 20 años, 10 meses
Puntos: 0
Redimensionar y crear marco despues

He creado un script para primero redimensionar una imagen y despues trazar un marco o rectangulo.
Todos los datos se los paso de momento por url, porque estoy todavía desarrollandolo.
Consigo visualizar la imagen redimensionada al tamaño que deseo pero no se crea el marco o rectangulo que defino después. Anteriormente había hecho pruebas y las dos cosas por separado me funcionaban...
También me pasa que la imagen redimensionada esta en blanco y negro, supongo que será por los 0,0,0,0 del imagecopyresided, he estado buscando que significan y no llego entenderlo..
A ver si podeis echarme una mano... :)
Muchas gracias

Código:
<?php 

header("Content-type:image/jpeg");

$fuente=imagecreatefromjpeg($ruta);
$imgAncho=imagesx($fuente);
$imgAlto=imagesy($fuente);
$imagen=imagecreate(400,300);
imagecopyresized($imagen,$fuente,0,0,0,0,450,300,$imgAncho,$imgAlto);

$negro	= imagecolorallocate($fuente, 0, 0, 0);
$cristal  = imagecolorallocatealpha($fuente, 153,255,233,65);


//Dibuja el rectángulo relleno del color indicado
imagefilledrectangle($fuente,$x1, $y1, $x2, $y2,$cristal);
//Dibuja el borde del rectángulo
imagerectangle($fuente,$x1, $y1, $x2, $y2,$negro);

imagejpeg($imagen);

?>
__________________
Ibisof | Saludos desde Eivissa !!! :p

Última edición por Enea; 26/11/2004 a las 04:31
  #2 (permalink)  
Antiguo 28/11/2004, 03:46
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 20 años, 10 meses
Puntos: 0
Vale, he conseguido hacer las dos cosas, primero redimensionar y luego dibujar el marco donde yo quiera.

Código:
<?php 

$Ruta="../../Public/Fotos/1-F.jpg";

$ancho = 450;
$alto = 300;

$x1=157;
$x2=328;
$y1=98;
$y2=285;

/////////////////////////////////////////////////////////////////////////////
///// Redimension del tamaño de la imagen subida a 400 x 350. //////
///////////////////////////////////////////////////////////////////////////

//Creación de imagen a partir de la ruta.
$Imagen = imagecreatefromjpeg($Ruta); 
//Altura y anchura de imagen inicial.
$img_w = imagesx($Imagen); 
$img_h = imagesy($Imagen); 
//Crea una imagen nueva con color real.
$Img = imagecreatetruecolor($ancho,$alto);
//Copiamos la imagen inicial a la nueva imagen redimensionandola.
imagecopyresized($Img,$Imagen,0,0,0,0,$ancho,$alto,$img_w,$img_h);

//////////////////////////////////////////////////////////////////////////////
////////// Creación de marco en imagen ya redimensionada ///////////
///////////////////////////////////////////////////////////////////////////

$negro=imagecolorallocate($Img,0,0,0);
$cristal=imagecolorallocatealpha($Img,153,255,233,65);

//Dibuja el rectángulo relleno del color indicado
imagefilledrectangle($Img,$x1,$y1,$x2,$y2,$cristal);
//Dibuja el borde del rectángulo
imagerectangle($Img,$x1,$y1,$x2,$y2,$negro);


/////////////////////////////////////////////
////////// Salida de la imagen ///////////
///////////////////////////////////////////

//Tipo de salida que tendrá el documento.
header("Content-type: image/jpeg"); 
//Mostramos la imagen
imagejpeg($Img); 

?>
Pero tengo un problema...
Quiero que la imagen empiece en el punto 30,30 no en el 0,0.
He mirado de hacerlo sobre la función imagecopyresized pero corta la imagen en vez de moverla...
Existe algo para remediar esto?
__________________
Ibisof | Saludos desde Eivissa !!! :p

Última edición por Enea; 30/11/2004 a las 05:49
  #3 (permalink)  
Antiguo 30/11/2004, 05:52
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 20 años, 10 meses
Puntos: 0
¿Podeis echarme una mano? Grasis...
__________________
Ibisof | Saludos desde Eivissa !!! :p
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 18:28.