Cómo usar el código php para aplicar una marca de agua en la imagen antes de subirla

OK, esto es más complicado de lo que piensas …

Dejando de lado la idea de que probablemente necesite un paso provisional en el que el usuario que realiza la carga confirme que las fotografías están en la orientación correcta y selecciona una ubicación para la marca de agua, tendrá que hacer algo como esto (suponiendo que su marca de agua es una imagen preparada previamente sobre un fondo transparente, llamada watermark.png):

<? php

$ watermark = imagecreatefrompng (“./ watermark.png”);
$ target_image = imagecreatefromjpeg (“./ target_image.jpg”);

$ margin_right = 10;
$ margin_bottom = 10;

$ watermark_width = imagesx ($ watermark);
$ watermark_height = imagesy ($ watermark);

$ posx = imagesx ($ target_image) – $ watermark_width – $ margin_right;
$ posy = imagesy ($ target_image) – $ watermark_height – $ margin_bottom;

imagecopy ($ target_image, $ watermark, $ posx, $ posy, 0, 0, $ watermark_width, $ watermark_height);

imagepng ($ target_image, “./finished_image.png”);
imagedestroy ($ target_image);

?>

He probado esto y sé que funciona; es posible que deba modificarlo para sus propósitos, pero debería hacerlo funcionar.

¡Todo lo mejor!