Im Prozess der Webentwicklung ist die Verarbeitung von Bildoptimierungen ein wichtiger Bestandteil der Verbesserung der Benutzererfahrung und der Webseitenleistung. Unter ihnen können die Schnitt- und Spleißvorgänge des Bildes die Ladezeit des Bildes effektiv verkürzen und die Reaktionsgeschwindigkeit der Seite verbessern. Mit seinen leistungsstarken Bildverarbeitungsfunktionen kann PHP leicht beide Vorgänge erreichen.
Bildscheiben teilen ein großes Bild in mehrere kleine Bilder auf. Es wird häufig verwendet, um Bilder nach Bereichen zu laden, Grafikkarten zu erstellen oder einen faulen Bild -Ladeeffekt zu erzielen.
Hier ist ein PHP -Code -Beispiel, das zeigt, wie man ein großes Bild mit fester Größe schneiden und speichert:
<?php // Originalbildpfad $srcPath = 'big_image.jpg'; // Scheibensparspfad $savePath = 'sliced_images/'; // Scheibengröße $width = 200; // Scheibenbreite $height = 200; // Scheibenhöhe // Laden Sie das Originalbild $srcImage = imagecreatefromjpeg($srcPath); $srcWidth = imagesx($srcImage); $srcHeight = imagesy($srcImage); // Berechnen Sie die Anzahl der Scheiben $numX = ceil($srcWidth / $width); $numY = ceil($srcHeight / $height); // Ernte und Scheiben speichern for ($x = 0; $x < $numX; $x++) { for ($y = 0; $y < $numY; $y++) { // Erstellen Sie eine neue Leinwand $sliceImage = imagecreatetruecolor($width, $height); // Kopierbereich imagecopy($sliceImage, $srcImage, 0, 0, $x * $width, $y * $height, $width, $height); // Scheiben speichern imagejpeg($sliceImage, $savePath . 'slice_' . $x . '_' . $y . '.jpg'); // Ressourcen aufräumen imagedestroy($sliceImage); } } // Originalbildressourcen beseitigen imagedestroy($srcImage); ?>
Der obige Code schneidet das große Bild in mehrere kleine Bilder, die auf der festgelegten Breite und Höhe basieren, es im angegebenen Verzeichnis speichern und den Dateinamen gemäß den Koordinaten benennen, um eine einfache nachfolgende Verwaltung zu erhalten.
Das Bildnähten besteht darin, mehrere kleine Bilder zu einem großen Bild zu kombinieren, das für die Bildsynthese, das Hintergrundfliesen oder die Wiederherstellung großer Bilder geeignet ist.
Der folgende Code zeigt, wie man geschnittene Bilder liest und sie in ein großes Bild in der Reihenfolge spleißt:
<?php // Bildkatalog in Scheiben schneiden $slicePath = 'sliced_images/'; // Bildsparungsweg nach dem Nähen $mergedPath = 'merged_image.jpg'; // Scheibengröße $width = 200; $height = 200; // Anzahl der Scheiben(Es sollte gemäß der tatsächlichen Anzahl der Scheiben festgelegt werden) $numX = 3; $numY = 3; // Erstellen Sie eine synthetische Leinwand $mergedWidth = $width * $numX; $mergedHeight = $height * $numY; $mergedImage = imagecreatetruecolor($mergedWidth, $mergedHeight); // Slices einzeln lesen und verschmelzen for ($x = 0; $x < $numX; $x++) { for ($y = 0; $y < $numY; $y++) { $sliceImage = imagecreatefromjpeg($slicePath . 'slice_' . $x . '_' . $y . '.jpg'); imagecopy($mergedImage, $sliceImage, $x * $width, $y * $height, 0, 0, $width, $height); imagedestroy($sliceImage); } } // Speichern Sie synthetische Bilder imagejpeg($mergedImage, $mergedPath); imagedestroy($mergedImage); ?>
In diesem Skript geht davon aus, dass bereits ein geschnittenes Bild in der Reihenfolge genannt und in ein vollständiges Bild genannt wird, das als angegebene Datei ausgegeben wird.
Über die in diesem Artikel angegebenen Beispiele für PHP -Bildverarbeitung können Sie nach Bedarf ein großes Bild in mehrere kleine Bilder aufteilen oder das segmentierte Bild in das Originalbild rekombiniert. Diese Technologie kann in der Front-End-Image-Ladeoptimierung, bei der Aufteilung der Spielkarte, in der Back-End-Image-Management-System und in anderen Feldern häufig eingesetzt werden. Im tatsächlichen Gebrauch können Entwickler die Bildgröße und die Anzahl der Scheiben flexibel anpassen, um unterschiedliche Geschäftsanforderungen zu erfüllen.