Marcas de agua automáticas en WordPress

Si usas habitualmente imágenes originales en tu web seguro que no hará gracia encontrártelas en otros sitios, o al menos que si aparecen se sepa quien hizo las fotos o creó las imágenes.

Independientemente de los sistemas para evitar el robo de contenido, no está de más añadir las conocidas como «marcas de agua» en tus imágenes.

Y mucho mejor si lo hacemos de manera automática ¿no?

Pues lo que tienes que hacer es crear una función, que añadirás a tu plugin de funciones o fichero fucntions.php del tema activo.

Lo tienes justo a continuación, con una función marcadeagua() que tiene en cuenta 3 parámetros ($SourceFile, $WaterMarkText, $DestinationFile) que crean una imagen de marca de agua desde la imagen origen especificada. El primer parámetro – $SourceFile – es la ruta completa del servidor a la imagen que servirá de marca de agua. El segundo – WaterMarkText – es el mensaje de texto que quieres añadir como marca de agua. Y el último parámetro – $DestinationFile – puedes dejarlo en blanco o poner la ruta completa a un archivo nuevo que tendría tanto el archivo origen como el texto de marca de agua sobre el.

Lo que hace esta función es leer el archivo origen, luego crea un nuevo objeto de imagen, usando la función imagecopyresampled(). Luego, usando la fuente «arial.ttf» y la función imagettftext() escribe el WaterMarkText en la imagen. La última declaración IF comprueba si hay que guardar el archivo con marca de agua o si solo hay que mostrarlo en la pantalla.

function marcadeagua ($SourceFile, $WaterMarkText, $DestinationFile) { 
   list($width, $height) = getimagesize($SourceFile);
   $image_p = imagecreatetruecolor($width, $height);
   $image = imagecreatefromjpeg($SourceFile);
   imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width, $height); 
   $black = imagecolorallocate($image_p, 0, 0, 0);
   $font = 'arial.ttf';
   $font_size = 10; 
   imagettftext($image_p, $font_size, 0, 10, 20, $black, $font, $WaterMarkText);
   if ($DestinationFile<>'') {
      imagejpeg ($image_p, $DestinationFile, 100); 
   } else {
      header('Content-Type: image/jpeg');
      imagejpeg($image_p, null, 100);
   };
   imagedestroy($image); 
   imagedestroy($image_p); 
};

Tendrás que descargar el archivo de fuente «arial.ttf» y subirlo a tu servidor. Luego copias y pegas la función anterior en el plugin de funciones. Las siguientes 4 líneas, que también debes añadir a tu plugin de funciones, sirven para definir el archivo de origen, el mensaje de texto de la marca de agua y el archivo de destino. Si solo quieres mostrar la imagen como marca de agua entonces dejas la variable $DestinationFile vacía ($DestinationFile=''; ).

Asegúrate de que para el archivo origen y de destino tienes que incluir la ruta completa del servidor y también el nombre del archivo. Si cambias la posición del mensaje para la marca de agua en tus imágenes tienes que cambiar la línea imagettftext($image_p, $font_size, 0, 10, 20, $black, $font, $WaterMarkText);.

$SourceFile = '/home/user/www/images/imagen1.jpg';
$DestinationFile = '/home/user/www/images/imagen1-watermark.jpg'; 
$WaterMarkText = 'Visto en ayudawp.com';
watermarkImage ($SourceFile, $WaterMarkText, $DestinationFile);

Código PHP visto en phpjabbers

Mola ¿verdad? ¿a que sí? … que si, que mola … 

Vaaaaaaale, ya se, que quieres hacerlo más fácil. Pues nada, a tirar de plugins. Si estás vaguete entonces prueba alguno de estos plugins por si te hacen el apaño, pero no digas que no has aprendido a hacerlo en «modo pro» ¡eh!

  • Bulk watermark: es un poco bestia pero funciona, lo que hace es añadir una marca de agua a TODAS las imágenes que hayas subido a tu WordPress, sin preguntas ni explicaciones, le atizas y lo hace. Muy útil si te has dado cuenta tarde de que debías añadir este tipo de protección a tus imágenes.
  • Watermark reloaded: similar al anterior, bastante configurable y efectivo. Su función es añadir marca de agua a las imágenes ya existentes en tu WordPress.
  • Signature watermark: muy majo y personalizable, porque puedes añadir marcas de agua de texto e imagen, con un panel de opciones realmente completo, sería el sustituto ideal para el código
  • Watermark my image: este añade a las posibilidades del anterior las virtudes del primero, pues además de añadir marcas de agua a las nuevas imágenes también te ofrece poder añadirla a todas las imágenes que ya hubieses subido previamente a tu WordPress. Menos configurable que Signature pero más completo.

Ea, pues ya está, ¡que lo marques bien!

(2 votos, promedio: 4.5) Valora este artículo para ayudar a mejorar la calidad del blog

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

12 comentarios en “Marcas de agua automáticas en WordPress”

  1. Excelente el aporte de la forma de hacerlo sin sobrecargar el sitio con plugins. Gracias por las instrucciones Fernando 😉

  2. Hola  buenas,

    Ante todo daros las gracias por este aporte y otros muchos que publicáis  ya que todos son de gran ayuda.

    En cuanto a esta función, tengo un problemilla y no consigo que me funcione.Resulta que meto el código en el archivo functions.php, añado la ruta de la imagen a la variable $sourcefile, pero resulta que me al entrar en mi web en ved de cargar el sitio carga solo la imagen de la marca de agua.No se que he podido hacer mal.Agradezco vuestra ayuda.Un saludo y gracias.

  3. Ricardo Fiestas

    muy util pero la sobre carga de material seria demasiado grande en el caso de sitios en funcionamiento hace tiempo!. pero de que mola mola!. 😀 gracias.

  4. alguien me pudiera decir como le puedo hacer para que en el plugin Bulk Watermark la marca de agua aparezca en el centro de las imagenes… saludos

  5. orlando gonzalez

    encantado de conocer este blog, felicidades y muchas gracias por el aporte. Ahora la pregunta es la siguiente, si estoy usando un plugin para vender las fotos. Cuando el cliente se descarga la imagen, lo hara con o sin marca de agua?, muchas gracias

  6. Y para videos mp4 ? llevo largo tiempo buscando un plugun que añada una marca de agua a los videos propios que subo a mi servidor y luego público en WP. No encuentro nada. Si alguien sabe algo no sabe lo agradecido que le estaría. Saludos y buen día !!!

  7. Y como puedo añadir marca de agua a los videos de mp4 que subo a mi servidor. ? llevo meses buscando la manera de hacerlo y no encuentro nada, ni plugins, ni códigos. Saludos y que pasen un buen día.

  8. Alguien podría indicarme un plugun o alguna función para añadir marcas de agua a los videos. Un editor de videos no me vale, lo que yo quiero es subir el video a mi WP y que automaticamente me añada un marca de agua en texto o imagen, me da igual. Espero que alguien me pueda ayudar. Saludos y gracias

  9. Hola Fernando, gracias por el aporte. Yo ya subo todas mis fotos por defecto con la marca de agua, el problema que tengo ahora es que tengo que cambiar esa marca de agua por un problemilla legal. Tengo unos 200 posts publicados, y cada imagen ha generado sus thumbnails. He pensado utilizar un plugin para «sobreescribir» la marca de agua existente con el logo nuevo, ¿se te ocurre alguna otra forma de hacerlo?
    En caso que me descargara la carpeta de uploads y le hiciera un bulk watermak, ¿podría volver a subir los archivos y se reemplazarían?
    Mil gracias!

    1. Tela que putada.

      Pues si el plugin te ha respetado la imagen original ahora te tocaría hacer una carga nueva y luego pasarle el plugin regenerate thumbnails.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba Ir al contenido