Heim  >  Artikel  >  Backend-Entwicklung  >  So führen Sie mehrere Bilder in PHP zusammen

So führen Sie mehrere Bilder in PHP zusammen

小云云
小云云Original
2018-02-27 10:32:372654Durchsuche

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!

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