Foros del Web » Programando para Internet » PHP »

Marcas de agua automaticas con php?

Estas en el tema de Marcas de agua automaticas con php? en el foro de PHP en Foros del Web. Hola me gustaria saber si puedo poner una marca de agua en las imagenes que se suben via php . por ejemplo mi logo o ...
 
Antiguo 27/05/2003, 09:32
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 24 años, 7 meses
Puntos: 2
Marcas de agua automaticas con php?

Hola me gustaria saber si puedo poner una marca de agua en las imagenes que se suben via php . por ejemplo mi logo o simplemente una raya.

Un saludo
 
Antiguo 27/05/2003, 09:35
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 24 años, 8 meses
Puntos: 17
Mira este artículo sobre GD avanzado:

http://www.phpbuilder.com/columns/cash20030526.php3

Ahí hay muchas cosas de ese tipo.
__________________
M a l d i t o F r i k i
 
Antiguo 27/05/2003, 11:39
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 24 años, 7 meses
Puntos: 2
Gracias cain he conseguido mas o menos peor no se que me falla y es q hay cosas que no se que siginifacn.

Codigo:
Código PHP:
function imagettftexttransparent(&$im,$size,$angle,$x,$y,&$col,$fontfile,$text,$pct) { 
    
$im_w = imagesx($im); // Get the image width 
    
$im_h = imagesy($im); // Get the image height 
    
$new = imagecreate($im_w,$im_h); // Create a buffer 
    
imagesetpixel($im,$im_w-1,0,$col); // Set a pixel down, so we can easily get the color 
    
$index = imagecolorat($im,$im_w-1,0); // Get the color at that pixel 
    
$rgb = imagecolorsforindex($im,$index); // Get the index of that color 
    
$r = $rgb["red"]; // Get the red value 
    
$g = $rgb["green"]; // Get the green value 
    
$b = $rgb["blue"]; // Get the blue value 
    
$color = imagecolorallocate($new,$r,$g,$b); // Allocate this color on the buffer 
    
$copy = imagecopy($new,$im,0,0,0,0,$im_w,$im_h); // Copy the old image onto the buffer 
    
$text = imagettftext($new,$size,$angle,$x,$y,$color,$fontfile,$text); // Draw the text 
    
$merge = imagecopymerge($im,$new,0,0,0,0,$im_w,$im_h,$pct); // Copy the buffer back onto the original image 
    
imagedestroy($new); // Destroy the buffer 

}
imagettftexttransparent($newimage,400,50,$red,"arial.ttf","HOLA CARACOLA",$pct); 
pues ese ultimo pct no se qu sera.

me da el siguiente error
Cita:
Fatal error: Cannot pass parameter 6 by reference in /home/lomoon/public_html/Nuevo/Admin/pruebamarcas.php on line 51
la 51 es la ultiam en la que le digo que me realice mi marca d agua

Un saludo
 
Antiguo 27/05/2003, 11:44
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 24 años, 8 meses
Puntos: 17
Cita:
imagettftexttransparent(resource im, int size, int angle, int x, int y, int col, string fontfile, string text, int pct)
imageTTFTextTransparent will draw transparent text on your image.
im is the image you want to edit.
size is the text size in points.
angle is the angle of the text.
x is the left coordinate of the text.
y is the top coordinate of the text.
fontfile is the font file you wish to use.
text is the text you wish to write.
pct is the percent that the text is transparent.
Según la documentación, $pct es el porcentaje de transparencia del texto.
__________________
M a l d i t o F r i k i
 
Antiguo 27/05/2003, 11:44
 
Fecha de Ingreso: diciembre-2002
Mensajes: 341
Antigüedad: 23 años, 9 meses
Puntos: 0
Si no terminas de conseguir lo que quieres con el artículo de phpbuilder, prueba con este que escribí:

http://guebmaster.com/articulo.php/102
__________________
guebs - alojamiento web y dominios
www.guebs.com
blog.guebs.com
 
Antiguo 28/05/2003, 11:59
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 24 años, 7 meses
Puntos: 2
Hola ,he cambiado al final porque me interesaba mas que me hiciera la marca con una imagen peor ahora me da el siguiente error:

Code:
Código PHP:
function marcadeagua($img_original, $img_marcadeagua, $img_nueva, $calidad) { 

    
// obtener datos de la fotografia 
    
$info_original = getimagesize($img_original); 
    
$anchura_original = $info_original[0]; 
    
$altura_original = $info_original[1]; 

    
// obtener datos de la "marca de agua" 
    
$info_marcadeagua = getimagesize($img_marcadeagua); 
    
$anchura_marcadeagua = $info_marcadeagua[0]; 
    
$altura_marcadeagua = $info_marcadeagua[1]; 

    
// calcular la posición donde debe copiarse la "marca de agua" en la fotografia 
    
$horizextra = $anchura_original - $anchura_marcadeagua; 
    
$vertextra = $altura_original - $altura_marcadeagua; 
    
$horizmargen =  round($horizextra / 2); 
    
$vertmargen =  round($vertextra / 2); 

    
// crear imagen desde el original 
    
$original = ImageCreateFromJPEG($img_original); 
    
ImageAlphaBlending($original, true); 

    
// crear nueva imagen desde la marca de agua 
    
$marcadeagua = ImageCreateFromPNG($img_marcadeagua); 

    
// copiar la "marca de agua" en la fotografia 
    
ImageCopy($original, $marcadegua, $horizmargen, $vertmargen, 0, 0, $anchura_marcadeagua, $altura_marcadeagua); 

   
// guardar la nueva imagen 
   
ImageJPEG($original, $img_nueva, $calidad); 

   
// cerrar las imágenes 
   
ImageDestroy($original); 
   
ImageDestroy($marcadeagua); 
} 

// aplicamos la funcion a una imagen "original.jpg" 
marcadeagua($newimage,'marca.png',$newimage,100); 
Y el error:
Cita:
Warning: imagecopy(): supplied argument is not a valid Image resource in /home/lomoon/public_html/Nuevo/Admin/pruebamarcas.php on line 62
la linea 62 es la d imagecopy

Un saludo

Ayuda please


Última edición por lochorui; 28/05/2003 a las 11:59
 
Antiguo 28/05/2003, 12:12
 
Fecha de Ingreso: diciembre-2002
Mensajes: 341
Antigüedad: 23 años, 9 meses
Puntos: 0
jeje, he estado 15 minutos pensado cual podía ser la causa.... y jeje, en la línea 62 pone $marcadegua cuando debería poner $marcadeagua...

Error mio, voy a correjir el artículo...
__________________
guebs - alojamiento web y dominios
www.guebs.com
blog.guebs.com
 
Antiguo 28/05/2003, 12:57
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 24 años, 7 meses
Puntos: 2
fijate q en el mio yo ya habia detectado en esa misma errores parecido en :

ImageCopy($original, $marcadeagua, $horizmargen, $vertmargen, 0, 0, $anchura_marcadeagua,

en tu scriopt pone

ImageCopy($original, $marcadeagua, $horizmargin, $vertmargin, 0, 0, $anchura_marcadeagua,

cambialo tmb.

Un saludo
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

SíEste tema le ha gustado a 1 personas



La zona horaria es GMT -6. Ahora son las 11:54.