Exemplo #1 Adicionando marcas d'água a imagens usando canais alfa
<?php
// Carrega o carimbo e a foto para aplicar a marca d'água
$stamp = imagecreatefrompng('stamp.png'); // carimbo
$im = imagecreatefromjpeg('photo.jpeg'); // foto
// Define as margens para o carimbo e obtém a altura/largura da imagem
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
// Copia a imagem do carimbo na foto usando os deslocamentos das margens e a largura
// da foto para calcular o posicionamento do carimbo.
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
// Mostra a imagem e libera a memória
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>