Foros del Web » Programando para Internet » PHP »

marca de agua en fotos

Estas en el tema de marca de agua en fotos en el foro de PHP en Foros del Web. hola aca estoy pidiendo un poco de ayuda para seguir con mi proyecto. Estoy intentando ponerle una marca de agua en las fotos que se ...
  #1 (permalink)  
Antiguo 04/06/2010, 19:28
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta marca de agua en fotos

hola aca estoy pidiendo un poco de ayuda para seguir con mi proyecto.
Estoy intentando ponerle una marca de agua en las fotos que se guradan en el servidor.
Estoy probando este código pero me marca estos errores. A la imagenes les puse permisos 777.
Comprenderan que mis conocimientos son muy limitados.
Gracias por ayudarme

Código PHP:
include 'db.php';
//estas dos lineas son para ver si la ruta es correcta . Imprime las imagens en pantalla
echo '<align="right"><img src="http://www.forosdelweb.com/f18/images/logoT.png" width="150" height="100">';
echo 
'<align="right"><img src="http://www.forosdelweb.com/f18/images/PB.jpg" width="150" height="100">';

header('content-type: image/jpeg');
$ruta_marca '../images/logoT.png';
$watermark imagecreatefrompng($ruta_marca);

$ruta_imagen '../images/PB.png';
$imagen imagecreatefromjpeg($ruta_imagen);
//obtener las dimensiones de la imagen, sustraer las dimensiones de la marca de agua y,
// dejando un margen de 10 px, obtener las posiciones x e y sobre las que se colocará la marca de agua.


$tamanyo_imagen getimagesize($ruta_imagen);
$tamanyo_marca getimagesize($ruta_marca);
$dest_x $tamanyo_imagen[0] - $tamanyo_marca[0] - 10;
$dest_y $tamanyo_imagen[1] - $tamanyo_marca[1] - 10;
imagecopymerge($imagen$watermark$dest_x$dest_y00,$tamanyo_marca[0], $tamanyo_marca[1], 100);

imagejpeg($imagen); //mostrar la imagen resultante
imagedestroy($imagen); //Libera la memoria asociada a la imagen
imagedestroy($watermark);// //Libera la memoria asociada a la imagen 
Warning: imagecreatefrompng(../images/logoT.png) [function.imagecreatefrompng]: failed to open stream: No such file or directory in /home/a3434157/public_html/marca.php on line 22

Warning: imagecreatefromjpeg(../images/PB.png) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /home/a3434157/public_html/marca.php on line 25

Warning: getimagesize(../images/PB.png) [function.getimagesize]: failed to open stream: No such file or directory in /home/a3434157/public_html/marca.php on line 30

Warning: getimagesize(../images/logoT.png) [function.getimagesize]: failed to open stream: No such file or directory in /home/a3434157/public_html/marca.php on line 31

Warning: imagecopymerge(): supplied argument is not a valid Image resource in /home/a3434157/public_html/marca.php on line 34


Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/a3434157/public_html/marca.php on line 36


Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/a3434157/public_html/marca.php on line 37

Aver si me pueden guiar que debo hacer
Gracias desde ya

Última edición por marcos46g; 04/06/2010 a las 21:20
  #2 (permalink)  
Antiguo 04/06/2010, 21:28
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: marca de agua en fotos

Hola
El problema es de ruta, esos directorios existen?
si la respuesta es sí, intenta cambiar las rutas de rutamarca y rutaimagen
a que sean sin tener que salir (..)
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 05/06/2010, 17:52
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Respuesta: marca de agua en fotos

Cita:
Iniciado por mortiprogramador Ver Mensaje
Hola
El problema es de ruta, esos directorios existen?
si la respuesta es sí, intenta cambiar las rutas de rutamarca y rutaimagen
a que sean sin tener que salir (..)
saludos

Las rutas son corresctas , lo estoy verificando imprimiendo las dos imagens en pantalla antes de proceder a efectuar el proceso de poner la marca de agua en la foto
No puedo entender que pasa. Si veo que los mensajes de error orientan a eso pero y como me muestra las imagnes entonces ???
  #4 (permalink)  
Antiguo 05/06/2010, 17:59
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: marca de agua en fotos

Cita:
Iniciado por marcos46g Ver Mensaje
Las rutas son corresctas , lo estoy verificando imprimiendo las dos imagens en pantalla antes de proceder a efectuar el proceso de poner la marca de agua en la foto
No puedo entender que pasa. Si veo que los mensajes de error orientan a eso pero y como me muestra las imagnes entonces ???
Bueno, según veo tienes la ruta absoluta de las imagenes en los img, pero en cambio en los otros lados tienes relativas, si intentas no obteniendo las imagenes desde la web? o si intentas ponerle también absolutas a $ruta_marca y $ruta_imagen?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 05/06/2010, 21:08
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: marca de agua en fotos

La ruta es exactamente igual, lo que pasa es que no se porque causa al pegar la ruta superior el sistema la cambio por src="http://www.forosdelweb.com/f18/images/logoT.png pero yo en mi codigo lo tengo expresado exactamente igual en cuando muestro la iimagen que cuando intento llegar a ella para poner la marca de agua
../images/PB.png'
el directorio existe y las imagens tambien y tienen los maximos permisos
Esto me esta enloqueciendo
Gracias por ayudarme
  #6 (permalink)  
Antiguo 05/06/2010, 23:05
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: marca de agua en fotos

Hola
he intentado acceder a las urls de las imagenes pero no es posible (error 404)

por otro lado, no había tenido tiempo de probar, probe y me mostraba la url del script, así que hice este cambio obteniendo resultado (una imagen sobre otra)

Código PHP:
Ver original
  1. <?php
  2. //estas dos lineas son para ver si la ruta es correcta . Imprime las imagens en pantalla
  3.  
  4. // echo '<align="right"><img src="http://www.forosdelweb.com/f18/images/logoT.png" width="150" height="100">';
  5. // echo '<align="right"><img src="http://www.forosdelweb.com/f18/images/PB.jpg" width="150" height="100">';
  6.  
  7.  
  8.  $ruta_marca = '../../imagenes/reves.png';
  9.  $watermark = imagecreatefrompng($ruta_marca);
  10.  
  11.  
  12.  $ruta_imagen = '../../imagenes/reves.jpg';
  13. $imagen = imagecreatefromjpeg($ruta_imagen);
  14.  
  15. //obtener las dimensiones de la imagen, sustraer las dimensiones de la marca de agua y,
  16. // dejando un margen de 10 px, obtener las posiciones x e y sobre las que se colocará la marca de agua.
  17.  
  18.  
  19. $tamanyo_imagen = getimagesize($ruta_imagen);
  20. $tamanyo_marca = getimagesize($ruta_marca);
  21. $dest_x = $tamanyo_imagen[0] - $tamanyo_marca[0] - 10;
  22. $dest_y = $tamanyo_imagen[1] - $tamanyo_marca[1] - 10;
  23. imagecopymerge($imagen, $watermark, $dest_x, $dest_y, 0, 0,$tamanyo_marca[0], $tamanyo_marca[1], 100);
  24.  
  25. // imagedestroy($imagen); //Libera la memoria asociada a la imagen
  26. // imagedestroy($watermark);// //Libera la memoria asociada a la imagen      
  27.  
  28.  
  29.  
  30. header('content-type: image/jpeg');
  31. imagejpeg($imagen); //mostrar la imagen resultante
  32. ?>

saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 06/06/2010 a las 15:50
  #7 (permalink)  
Antiguo 06/06/2010, 10:05
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: marca de agua en fotos

hola acabo de probar el codigo , puse las rutas completas a donde esta la imagen y el restultado que obtengo es :
En realidad son muchisimas lineas mas pero con esto creo alguno de uds me podra indicar que esta pasado Gracias por ayudarme!!!!

ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!222222222222222222222222222222222222222222222 22222ÿÀwô"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3 br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ× ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvw xyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓ ÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ñ8Áûã¢Ô†?5óƒÏÒ¥Š&ÙµHÃpsR„X–FYz‘\×Ô‹ƒiæ, 4l¸vzÓ§µ\À†Ux¤eË/lžiÓÛ :ç`éP,ŠŒ˜ÁÏ4®4λ[𼶖_hµBöêYS‘Ó½r12Ér{WBu«Û6[Q8[Yãû¹ÈÞ­ÌþšêÒ4É—¸NN}>•¼©FWäV2»Ý˜v3*n;Š±á^­ê{ ØÁÛ‘X÷NUÕ6… ‚5riÕ¡HãÇ(8É0ÔύpÙÛ¸V¢¬2Ùm«g½~µXÛ+0ÚìŽô¶†@ û€ðSµSÔ¯RŸ1í|Û•Ó'­J#Ž$ÂÖ¬rc™®±1ÚœšŒ–Î ;e‚÷"³voMÃa³eP{B¥ |Ä=@Јn„AÁœåzUéµX§¼žUrZP0íÛÚ©ÜÛù¨$†P'9îjº\²,ßK¹ @¬×*SÛB袝Îûe'îv^Úè@Ll¬_w&¬Í%®ÇŠhË»ò’Ž£Ú”·âÊ X’PpÄv«¢öTepÎjF:š¨’y_»a‚kB…>Ë$ëcÞ´î4ì\šìÛ $Ç"Lç ¸ã=ë›Öeß剗~JžÕêzµêË ýªXUÚ3¹P/\לxŠéolË £ïùØwtþ"Ñ©áí~ÆÒrÓ£ãÊؤz» I«w=¬[¦N"'®{×'§xvòm6Þâ&î¹ã µvl´›xä·¿„Œ þ1D¤Ó¼Kk¹é¶±þÌò©ŠtoœïW!ñöúÚ;=20Ù¸óxƒ5ßxv÷íº:ê Ö¿c•w>µæÿ£ŠóNÓoV<|Ì÷ìk£ÚNjò3åQØô ¼ áëK„,®öÁy¯+ø‹?‡îg7eüRlp8®ÇÁ3Ük¿ RÚXž+¨cÚ¯ýïq^?ã-*ëGÂœç8É?ZÒnj:u2…æ“Cû"=¥´–²Ç&wÿ–Ø æôØm.EÃ\ÏäÎ d'Ö›wy͍ŒPÈĪŸ1[¢žØ­X¬ô{ÿ 4’—MF3ÐW$¥k.Å7wvAiy¨K “ìþq·|ÅèËMÖm£°Ž'+Óx¶{T:|wöVRÝØÍæB oßµRY.5yQÂŒ"ã' ¹›`‘\|ª2väçÑ&æá}jÔ±À‘’ vgÞ¡–Ý Q—b7G¥'¨‰QUs"•?Ý Õè¡fe$ìvz²’ÛË8 ÁÍ[f›jEö…;zb³žã¸É6,¡2Ø=½V_UÌr[­œqÄy*"›-=œ’Kp¨Pà'ñ¥RˆfFwàá=M(¤É¹33y{To' ôª)1Pw;U›‰Œdàš‘bò`YUǘO#ÒµRШ»·µ¸·´•Ð˜íoQVÒé ^Ó¬`"ãÿžj(5y,åf#ð“3™¥i\üÌrGjÖ•/i-V…^嫍VgŒÁ‡¡$rk8Œ ”úFÂõ W¡F È«àÒí¦´ëœ"—>Ô›g“–e‰}úÒu#±J-ŠÌ¨>b1ZIUš™Âõ4Ґ¡=eozîæÜæ=¤ý£Z+Ñ[dÌO˜ÛqØŠ]±¯ 3õ©¥»7,dRø¦„Fûƒèk+5¬•ÊºèÈÉ'ŠCÖ¤10ퟥFçg$Ö3‹Ø‡ -Äf 9¨‚™NãŠ2ïÂúSÉÝÆ0AKYh¶ ·$1H®œÔڝ`fäü£Þ”˜£ÿi¨çŠÑjêÈ:*C;瀢‹Ï°Z= ÍhÑ r.aqéž)fCæ 7 Þ­\\Ïw;5ÏÍýÒ*±Y@ääæ¸nÚ×s#V\A¥Gв+tv{éY1D¦ùBèN õ¥9»¿°U’C"Ã÷þT-ƒ$á‹ݏ¥$ùu ͍kDÔì"H¯-¶Æã̈ûzU=7XÔ ³þÏ´âŒ·Ïxo¨®¢ íbóH‹Ì–;ß!²ˆë¹×ëí]ÀðN›¨xF×T²D–ñ,€'þé«¥AÏU ’ÓSǤH®I„‘>W^çÜV}¼’Gp2 ðzö«Ï iž 6˜Ún©§Æ EâPFsÚ¹¿h¶–šIžûOk2T}ÓÞ¤â³tšÜ»u8K‘4ÀIÈ9éŽP² —ßJ×››-Õ”'_3z²ï
  #8 (permalink)  
Antiguo 06/06/2010, 10:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: marca de agua en fotos

precisamente dicha información que ves, es la información de la imagen... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 06/06/2010, 11:40
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: marca de agua en fotos

ok entiendo pero esto imagejpeg($imagen) no me debe mostrar la imagen en pantalla o debo hacer un
echo'<img src="imagejpeg($imagen)" width="150" height="100">';

Última edición por marcos46g; 06/06/2010 a las 11:48
  #10 (permalink)  
Antiguo 06/06/2010, 11:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: marca de agua en fotos

Cita:
Iniciado por marcos46g Ver Mensaje
ok entiendo pero esto imagejpeg($imagen) no me debe mostrar la imagen en pantalla o debo hacer un echo imagejpeg($imagen); para poderla ver?
al ser información binaria de la imagen, debes enviar sus respectivos header() especificando el tipo que es...

y no hay que hacer echo, como puedes notar actualmente ya tienes en pantalla la imagen... aunque el navegador no sabe representarla, pues no especificas el tipo??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 06/06/2010, 11:51
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: marca de agua en fotos

la verdad no comprendo como hacerlo gracias igual , el codigo lo encontre en internet y con mis pocos conocimeitos lo vengo poniedo en funcionamiento pero la explicacion que me das no se como ponerla en practica.
  #12 (permalink)  
Antiguo 06/06/2010, 11:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: marca de agua en fotos

si, mira... antes del header() con el Content-Type (revisa tu código) no debe existir nada de texto, ningún echo, nada...

resulta que tu código esta bien, solo estas omitiendo esto que te comento...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 06/06/2010, 12:17
rpv
 
Fecha de Ingreso: febrero-2010
Mensajes: 275
Antigüedad: 14 años, 9 meses
Puntos: 10
Respuesta: marca de agua en fotos

digamos que tu script se llama marcadeagua.php, entonces desde otra página/script/archivo lo llamas:


Código HTML:
Ver original
  1. <img src="marcadeagua.php" alt="" />

o bien si tu archivo necesita parámetros:

Código HTML:
Ver original
  1. <img src="marcadeagua.php?variable=valor" alt="" />

mientras que tu archivo marcadeagua.php solo imprime encabezados y la propia imagen (imagejpeg())
  #14 (permalink)  
Antiguo 06/06/2010, 15:34
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: marca de agua en fotos

ok al código que pegue inicialmente le llamé marca de agua.php y para que se dirija a otra pagina para poderlo llamar le agregue esta linea

header("location:marcadeagua2.php");

cree otra pagina a la que llamé marcadeagua2.php desde la que intento llamar
en ella puse este codigo
Código PHP:
 <body>
<
img src="marcadeagua.php" alt="" />

</
body>
</
html
pero me da este error
Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/a3434157/public_html/marcadeagua2.php on line 15

Última edición por marcos46g; 06/06/2010 a las 15:43
  #15 (permalink)  
Antiguo 06/06/2010, 15:49
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: marca de agua en fotos

Hola
Probaste el código que postee anteriormente??
ese me esta funcionando, te dejo este link donde monte la prueba

las imagenes originales son esta y esta

saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #16 (permalink)  
Antiguo 06/06/2010, 16:19
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: marca de agua en fotos

si este es el codigo que estoy usando y que lo llame marcadeagua.php
Código PHP:
  <?

header
('content-type: image/jpeg');

include 
'db.php';
$ruta_marca 'http://www.misitio.com/images/logoT.png';
$watermark imagecreatefrompng($ruta_marca);


$ruta_imagen 'http://www.misitio.com/images/PB.jpg';
$imagen imagecreatefromjpeg($ruta_imagen);

//obtener las dimensiones de la imagen, sustraer las dimensiones de la marca de agua y,
// dejando un margen de 10 px, obtener las posiciones x e y sobre las que se colocará la marca de agua.


$tamanyo_imagen getimagesize($ruta_imagen);
$tamanyo_marca getimagesize($ruta_marca);
$dest_x $tamanyo_imagen[0] - $tamanyo_marca[0] - 10;
$dest_y $tamanyo_imagen[1] - $tamanyo_marca[1] - 10;
imagecopymerge($imagen$watermark$dest_x$dest_y00,$tamanyo_marca[0], $tamanyo_marca[1], 100);

// imagedestroy($imagen); //Libera la memoria asociada a la imagen
// imagedestroy($watermark);// //Libera la memoria asociada a la imagen


 
imagejpeg($imagen); //mostrar la imagen resultante


?>
y para llamar a la la imagen desde verimagen.php
puso este codigo

Código PHP:
 <body>
<
img src="http://www.misitio.com/images/marcadeagua.php?imagen=PB.jpg" alt="probando">

</
body
o sea la imagen esta en la carpeta images

Última edición por marcos46g; 06/06/2010 a las 19:18
  #17 (permalink)  
Antiguo 06/06/2010, 17:18
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: marca de agua en fotos

Cita:
Iniciado por pateketrueke Ver Mensaje
si, mira... antes del header() con el Content-Type (revisa tu código) no debe existir nada de texto, ningún echo, nada...

resulta que tu código esta bien, solo estas omitiendo esto que te comento...
hola marcos46g

vuelvo a preguntarte, probaste el código que te postee anteriormente??
ya viste el resultado en el link?
así debería funcionarte o es otro asunto?
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #18 (permalink)  
Antiguo 06/06/2010, 19:20
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: marca de agua en fotos

Si vi los link y veo que a ti te funciona Yo estoy usando el codigo que vos sugeriste , en una de mis ultimas intervenciones lo pegue creo mi error viene en cuando desde la otra pagina
llamo a la imagen , en la variable podra ser el error
la imagen PB.jpg existe en la carpeta images

Etiquetas: agua, fotos, marca
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 01:04.