In modernen E-Commerce-Websites werden virtuelle Mirror-Funktionen immer beliebter. Es bringt den Benutzern nicht nur ein eindringlicheres Einkaufserlebnis, sondern verbessert auch die Conversion -Raten. In diesem Artikel wird vorgestellt, wie Sie die ImageFlip () -Funktion in PHP verwenden, um einen einfachen virtuellen Anpassungsspiegel -Effekt zu erzielen, hauptsächlich durch die Bildflip -Funktion, um den linken und rechten Spiegel -Dressing -Effekt zu simulieren.
PHP hat die ImageFlip () -Funktion seit 5.5.0 eingeführt, mit der Bilder umdrehen werden. Die Syntax ist wie folgt:
bool imageflip(GdImage $image, int $mode)
Der Parameter $ modus kann einer der folgenden drei Konstanten sein:
IMG_FLIP_HORIZONTAL : Horizontaler Flip (links und links und rechter Spiegel)
IMG_FLIP_VERTICAL : Vertikaler Flip (nach oben und unten)
Img_flip_both : horizontale und vertikale Flips gleichzeitig durchführen
In der Szene virtueller passender Spiegel ist das am häufigsten verwendete horizontale Flip.
Der Benutzer lädt ein Frontalfoto von sich selbst hoch.
Benutzer wählen ein Kleidungsstück (PNG mit transparentem Hintergrund);
Überlösen Sie die Kleidungsschicht auf das Foto des Benutzers.
Verwenden Sie ImageFlip () , damit Benutzer auf Schaltflächen klicken können, um den Effekt von "In-Mirror" anzuzeigen.
Das verarbeitete Bild wird schließlich ausgegeben.
Hier ist ein einfaches Implementierungsbeispiel:
<?php
// Laden Sie Benutzerfotos
$userImage = imagecreatefromjpeg('uploads/user.jpg');
// Kleidung ladenPNG(Mit transparentem Hintergrund)
$clothesImage = imagecreatefrompng('assets/clothes/shirt1.png');
// Holen Sie sich die Breite und Höhe der Kleidungsschicht
$clothesWidth = imagesx($clothesImage);
$clothesHeight = imagesy($clothesImage);
// Stellen Sie die Kleidungsposition auf der Benutzerkarte ein(Hier wird angenommen, dass sie in der Mitte platziert werden)
$destX = (imagesx($userImage) - $clothesWidth) / 2;
$destY = 200; // Entfernung nach oben 200px,Kann bei Bedarf eingestellt werden
// Transparente Verarbeitung zulassen
imagealphablending($userImage, true);
imagesavealpha($userImage, true);
// Bilder verschmelzen
imagecopy($userImage, $clothesImage, $destX, $destY, 0, 0, $clothesWidth, $clothesHeight);
// Wenn der Benutzer den Spiegelmodus anfordert
if (isset($_GET['mirror']) && $_GET['mirror'] == '1') {
imageflip($userImage, IMG_FLIP_HORIZONTAL);
}
// Ausgabe Bild zum Browser
header('Content-Type: image/png');
imagepng($userImage);
imagedestroy($userImage);
imagedestroy($clothesImage);
?>
Das Folgende ist eine einfache Version der Front-End-Seite, die dem obigen PHP entspricht:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Virtueller passender Spiegel</title>
</head>
<body>
<h2>Virtueller passender Spiegel</h2>
<img src="http://m66.net/tryon.php" id="preview" style="max-width: 100%;"><br><br>
<button onclick="mirror()">Spiegelschalter</button>
<script>
let mirrored = false;
function mirror() {
mirrored = !mirrored;
let img = document.getElementById('preview');
img.src = 'http://m66.net/tryon.php?mirror=' + (mirrored ? '1' : '0') + '&t=' + new Date().getTime();
}
</script>
</body>
</html>
Durch die Funktion der ImageFlip () -Funktion von PHP in Kombination mit der einfachen Bildsynthesefunktion können wir leicht einen grundlegenden virtuellen Anpassungsspiegel -Effekt implementieren. Obwohl dieses Beispiel relativ vereinfacht ist, hat es die Grundlage für die Implementierung eines fortschrittlicheren virtuellen Kleidungssystems gelegt. Sie können weiterhin Bilder, Gesichtserkennungspositionierung, 3D -Modellierung und andere Technologien hinzufügen, um den Realitätssinn zu verbessern.
Ich hoffe, dieser Artikel wird Ihnen hilfreich sein, probieren Sie es aus!