In PHP können Bildverarbeitungsfunktionen durch mehrere Funktionen der GD -Bibliothek implementiert werden. ImagecreateFromgd2 () ist eine Funktion in der GD -Bibliothek zum Laden von Bildern im .gd2 -Format. In diesem Artikel werden wir vorstellen, wie die ImagecreateFromgd2 () -Funktion verwendet wird, um einem Bild einen Wasserzeicheneffekt hinzuzufügen. Wir werden auch zeigen, wie die GD -Funktion von PHP verwendet wird, um Bildmanipulation durchzuführen und einen einfachen Wasserzeicheneffekt zu erzeugen.
Stellen Sie vor Beginn sicher, dass Ihre PHP -Umgebung die GD -Bibliothek aktiviert hat. Wenn Sie Linux verwenden, können Sie es über den folgenden Befehl installieren:
sudo apt-get install php-gd
Nach Abschluss der Installation starten Sie einfach Ihren PHP -Server neu.
Zunächst müssen wir die Funktion der ImagecreateFromgd2 () verwenden, um die ursprüngliche .gd2 -Bilddatei zu laden. Diese Funktion gibt eine Bildressource zurück, die auf dem nächsten Mal betrieben werden kann.
<?php
// Laden Sie das Originalbild
$original_image = imagecreatefromgd2('original_image.gd2');
// Überprüfen Sie, ob das Bild erfolgreich geladen wird
if (!$original_image) {
die("Das Laden der Bild ist fehlgeschlagen!");
}
?>
Als nächstes laden wir ein Bild als Wasserzeichen. Dies kann ein Bild in jedem Format sein, wie PNG, JPEG usw. Angenommen, wir haben ein Wasserzeichenbild im PNG -Format.
<?php
// Laden des Wasserzeichens
$watermark = imagecreatefrompng('watermark.png');
// Überprüfen Sie, ob das Wasserzeichenbild erfolgreich geladen wird
if (!$watermark) {
die("Die Wasserzeichenbelastung schlug fehl!");
}
?>
Um zu verhindern, dass das Wasserzeichen zu abrupt ist, können wir die Transparenz des Wasserzeichens festlegen. Sie können imageColorallocatealpha () verwenden, um eine Farbe mit Transparenz zu erstellen. Die Bildverarbeitung in GD -Bibliotheken verwendet normalerweise den "Transparenz" der Farbe, um die Transparenz zu steuern.
<?php
// Transparenz einstellen
imagealphablending($watermark, true);
imagesavealpha($watermark, true);
?>
Um das Wasserzeichen zum Originalbild richtig hinzuzufügen, müssen wir die Position des Wasserzeichenbildes berechnen. Im Allgemeinen können wir das Wasserzeichen in der unteren rechten Ecke des Bildes platzieren, aber Sie können die Position entsprechend Ihren Anforderungen anpassen.
<?php
// Holen Sie sich die Größe des Originalbildes und des Wasserzeichenbildes
$original_width = imagesx($original_image);
$original_height = imagesy($original_image);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
// Berechnen Sie die Koordinaten für die Platzierung des Wasserzeichens(Untere rechte Ecke)
$x = $original_width - $watermark_width - 10;
$y = $original_height - $watermark_height - 10;
?>
Durch die Funktion imageCopy () können wir das Wasserzeichenbild auf das Originalbild synthetisieren. Die Funktion imagecopy () kann das Quellbild an die angegebene Position des Zielbildes kopieren.
<?php
// Synthese Wasserzeichen mit dem Originalbild
imagecopy($original_image, $watermark, $x, $y, 0, 0, $watermark_width, $watermark_height);
?>
Schließlich müssen wir das zusammengesetzte Bild ausgeben. Sie können eine Bildausgabe für jedes Format (z. B. PNG oder JPEG) auswählen. Das Folgende ist die Codeausgabe im PNG -Format:
<?php
// Das endgültige Bild ausgeben
header('Content-Type: image/png');
imagepng($original_image);
// Zerstöre Bildressourcen,Freier Speicher
imagedestroy($original_image);
imagedestroy($watermark);
?>
<?php
// Laden Sie das Originalbild
$original_image = imagecreatefromgd2('original_image.gd2');
if (!$original_image) {
die("Das Laden der Bild ist fehlgeschlagen!");
}
// Laden des Wasserzeichens
$watermark = imagecreatefrompng('watermark.png');
if (!$watermark) {
die("Die Wasserzeichenbelastung schlug fehl!");
}
// Transparenz einstellen
imagealphablending($watermark, true);
imagesavealpha($watermark, true);
// Holen Sie sich die Größe des Originalbildes und des Wasserzeichenbildes
$original_width = imagesx($original_image);
$original_height = imagesy($original_image);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
// Berechnen Sie die Koordinaten für die Platzierung des Wasserzeichens(Untere rechte Ecke)
$x = $original_width - $watermark_width - 10;
$y = $original_height - $watermark_height - 10;
// Synthese Wasserzeichen mit dem Originalbild
imagecopy($original_image, $watermark, $x, $y, 0, 0, $watermark_width, $watermark_height);
// Das endgültige Bild ausgeben
header('Content-Type: image/png');
imagepng($original_image);
// Zerstöre Bildressourcen,Freier Speicher
imagedestroy($original_image);
imagedestroy($watermark);
?>
Durch die Verwendung der Funktion der ImagecreateFromgd2 () können wir Bilder einfach im .gd2 -Format laden und die GD -Bibliothek von PHP zu den Bildern hinzufügen. Sie können das Format der Transparenz, Position und Bildausgabe des Wasserzeichens entsprechend Ihren Anforderungen einstellen. Wenn Sie in anderen Formaten mit Bildern arbeiten müssen, ersetzen Sie einfach die entsprechende Bildladungsfunktion (z. B. ImagecreateFrommpng () oder ImagecreateFromjpeg () ).
Auf diese Weise können Sie die Wasserzeichenfunktion Ihres Bildes einfach implementieren, um Ihr Bild zu schützen, oder personalisierte Elemente hinzufügen.