In diesem Artikel erfahren Sie hauptsächlich, wie Sie mehrere Bilder in PHP zusammenführen. Die Imagecopy-Funktion unterstützt die Einstellung der Overlay-Transparenz PHP-interner Quellcode, die Transparenz von imagecopymerge beträgt Wenn der Parameter 100 ist, wird die Imagecopy-Funktion direkt aufgerufen.
Die Imagecopy-Funktion kann jedoch beim Kopieren die ursprünglichen transparenten Informationen des PNG-Bildes beibehalten, Imagecopymerge unterstützt jedoch nicht die transparente Kopie des Bildes selbst.
Lassen Sie es uns anhand eines praktischen Beispiels demonstrieren:
Fügen Sie dem Bild ein LOGO-Wasserzeichen hinzu.
Im Allgemeinen besteht ein Logo aus einem Symbol und einer URL, z. B. einem transparenten PNG-Bild, logo.png.
Wenn Sie dieses Logo nun auf ein Bild einfügen möchten,
verwenden Sie dazu die Imagecopymerge-Funktion Dies erreichen Sie durch ein leichtes Wasserzeichensymbol mit einer Transparenz von 30 %, aber das PNG des Logos selbst wird undurchsichtig, da IE6 keine PNG-Transparenz unterstützt. Wenn Sie die Bildkopiefunktion verwenden, können Sie die transparenten Informationen des Logos selbst beibehalten. Es kann jedoch keine 30 % leichte Wasserzeichenüberlagerung erreichen.
Offizielle PHP-Implementierungsmethode: Verwenden Sie die Funktion imagecopymerge_alpha, um die Funktionen dieser beiden Funktionen direkt zu implementieren und gleichzeitig die Transparenz des PNG selbst beizubehalten und gleichzeitig eine benutzerdefinierte Transparenzüberlagerung zu erreichen, aber die interne Die Verwendung dieser Funktion ist $opacity = 100 - $opacity; um Transparenz zu erreichen, scheint es genau das Gegenteil zu sein
$dst = imagecreatefromstring(file_get_contents($dst_path)); $src = imagecreatefromstring(file_get_contents($src_path)); imagecopy($dst, $src, 100, 100, 0, 0, 100, 100);//完成合并
function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){ $opacity=$pct; // getting the watermark width $w = imagesx($src_im); // getting the watermark height $h = imagesy($src_im); // creating a cut resource $cut = imagecreatetruecolor($src_w, $src_h); // copying that section of the background to the cut imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h); // inverting the opacity $opacity = 100 - $opacity; // placing the watermark now imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h); imagecopymerge($dst_im, $cut, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $opacity); }
Verwandte Empfehlungen:
PHP realisiert die Bildzusammenführung in WeChat – Jiugongge-Bilder
Das obige ist der detaillierte Inhalt vonSo führen Sie mehrere Bilder in PHP zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!