"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso adicionar marcas d'água a imagens usando PHP?

Como posso adicionar marcas d'água a imagens usando PHP?

Publicado em 2024-11-06
Navegar:542

How Can I Add Watermarks to Images Using PHP?

Adicionar marcas d’água às imagens usando PHP

Se você estiver trabalhando em um site que permite aos usuários fazer upload de imagens, pode ser necessário adicionar uma marca d'água nessas imagens para protegê-las contra uso não autorizado. Adicionar uma marca d'água garante que seu logotipo ou marca fique visível em todas as imagens enviadas. Veja como você pode conseguir isso em PHP:

Usando funções PHP

O manual do PHP fornece um exemplo abrangente usando as seguintes funções:

  • imagecreatefrompng() - Carrega a imagem da marca d'água como PNG
  • imagecreatefromjpeg() - Carrega a imagem original com marca d'água como JPEG
  • imagecopy() - Copia a imagem da marca d'água na imagem original

Posicionando a marca d'água

Para posicionar a marca d'água de forma eficaz, você pode especificar as margens usando as variáveis ​​$marge_right e $marge_bottom. Isso permite que você controle a distância entre a marca d'água e as bordas da imagem original.

Produzindo a imagem com marca d'água

Depois que a marca d'água for adicionada, você poderá gerar a imagem com marca d’água usando a função header() para definir o tipo de conteúdo como PNG. Em seguida, use imagepng() para gerar a imagem e imagedestroy() para liberar a memória usada.

Código de exemplo

Aqui está um trecho de código de exemplo:

// Load the stamp and the photo to apply the watermark to
$stamp = imagecreatefrompng('stamp.png');
$im = imagecreatefromjpeg('photo.jpeg');

// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Copy the stamp image onto our photo using the margin offsets and the photo 
// width to calculate positioning of the stamp. 
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

// Output and free memory
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
Declaração de lançamento Este artigo foi reimpresso em: 1729231338 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3