Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit PHP Wasserzeichen zu Bildern hinzufügen?

Wie kann ich mit PHP Wasserzeichen zu Bildern hinzufügen?

DDD
DDDOriginal
2024-10-18 14:03:30332Durchsuche

How Can I Add Watermarks to Images Using PHP?

Hinzufügen von Wasserzeichen zu Bildern mit PHP

Wenn Sie an einer Website arbeiten, die Benutzern das Hochladen von Bildern ermöglicht, müssen Sie möglicherweise Wasserzeichen hinzufügen Fügen Sie diesen Bildern ein Wasserzeichen hinzu, um sie vor unbefugter Verwendung zu schützen. Durch das Hinzufügen eines Wasserzeichens wird sichergestellt, dass Ihr Logo oder Branding auf jedem hochgeladenen Bild sichtbar ist. So können Sie dies in PHP erreichen:

PHP-Funktionen verwenden

Das PHP-Handbuch bietet ein umfassendes Beispiel für die Verwendung der folgenden Funktionen:

  • imagecreatefrompng() – Lädt das Wasserzeichenbild als PNG
  • imagecreatefromjpeg() – Lädt das Originalbild, das mit einem Wasserzeichen versehen werden soll, als JPEG
  • imagecopy() – Kopiert das Wasserzeichenbild auf das Originalbild

Positionierung des Wasserzeichens

Um das Wasserzeichen effektiv zu positionieren, können Sie die Ränder mithilfe der Variablen $marge_right und $marge_bottom angeben. Dadurch können Sie den Abstand zwischen dem Wasserzeichen und den Rändern des Originalbilds steuern.

Ausgabe des mit Wasserzeichen versehenen Bildes

Sobald das Wasserzeichen hinzugefügt wurde, können Sie mit der Ausgabe beginnen das mit Wasserzeichen versehene Bild mithilfe der Funktion header(), um den Inhaltstyp auf PNG festzulegen. Verwenden Sie dann imagepng(), um das Bild auszugeben, und imagedestroy(), um den verwendeten Speicher freizugeben.

Beispielcode

Hier ist ein Beispielcodeausschnitt:

<code class="php">// 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);</code>

Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP Wasserzeichen zu Bildern hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn