Aktueller Standort: Startseite> Neueste Artikel> Inhalt des Bildausgangs in Kombination mit OB_Start () erfassen)

Inhalt des Bildausgangs in Kombination mit OB_Start () erfassen)

M66 2025-05-17

Die Bildverarbeitung ist eine häufige Voraussetzung für PHP, insbesondere beim Erstellen, Ändern und Ausgabetieren. Unter ihnen ist die Funktion der ImagecreateFromgd2 () eine wichtige Funktion, mit der eine Bildressource aus einer Bilddatei im GD2 -Format erstellt wird. Wenn Sie den von dieser Funktion generierten Bildinhalt erfassen möchten, müssen Sie normalerweise den Ausgangspuffermechanismus (OB_Start) verwenden. In diesem Artikel werden Sie vermittelt, wie Sie OB_Start () kombinieren, um die Ausgabe von Bildinhalten von ImagecreateFromgd2 () zu erfassen und die spezifische Betriebsmethode anzuzeigen.

Bilder mit ImagecreateFromgd2 erzeugen ()

ImagecreateFromgd2 () ist eine Funktion in PHP, um Bildressourcen zu erstellen. Es kann Bilddateien im GD2 -Format lesen und eine Bildressource zurückgeben. Bei Verwendung dieser Funktion müssen wir normalerweise den Inhaltstyp des Bildes über die Funktion Header () festlegen und dann Funktionen wie ImagePng () oder ImageJpeg () verwenden, um das Bild auszuführen.

In einigen Fällen möchten wir jedoch den generierten Bildinhalt erfassen, anstatt ihn direkt an den Browser auszugeben. Zu diesem Zeitpunkt ist es notwendig, OB_Start () zu kombinieren, um dies zu erreichen.

Der Prozess der Erfassung von Bildinhalten

Hier sind die Schritte zum Erfassen der Bildausgabe mit OB_Start () und ImagecreateFromGD2 () -Funktionen:

  1. Starten Sie den Ausgangspuffer <br> Zunächst muss der Ausgangspuffer über OB_Start () gestartet werden. Diese Funktion zwischen den nachfolgenden Ausgaben zwischenstrichen, bis Sie ob_get_Contents () aufrufen, um den zwischengespeicherten Inhalt zu erhalten.

  2. Lesen Sie GD2 -Bilder und generieren Sie Bildressourcen <br> Verwenden Sie die ImagecreateFromgd2 () -Funktion, um die GD2 -Bilddatei zu lesen und eine Bildressource zu generieren.

  3. Ausgabe Bild zu Puffer <br> Verwenden Sie ImagePng () oder eine andere Bildausgabefunktion, um den Bildinhalt in den Puffer auszugeben.

  4. Ausgangsinhalt abrufen <br> Holen Sie sich den Inhalt im Puffer über ob_get_contents () im Puffer, dh die Bilddaten, die wir erfassen.

  5. Schließen Sie den Puffer <br> Beenden Sie den Puffer mit OB_END_CLEAN () oder OB_END_FLUSH () .

Beispielcode

Hier ist ein vollständiges Beispiel für die Verwendung von OB_Start () , um den Ausgangsinhalt des Bildes zu erfassen, das von der ImagecreateFromgd2 () -Funktion erzeugt wird:

 <?php
// Starten Sie den Ausgangspuffer
ob_start();

// LesenGD2Bilddateien und Bildressourcen erstellen
$image = imagecreatefromgd2('path_to_your_image.gd2');

// Überprüfen Sie, ob das Bild erfolgreich erstellt wird
if ($image === false) {
    die('Es kann kein Bild aus einer Datei erstellen');
}

// Ausgabe des Bildinhalts zum Puffer
imagepng($image); // Kann auch verwendet werden imagejpeg() oder andere Ausgangsformate

// Holen Sie sich den Inhalt des Puffers
$imageData = ob_get_contents();

// Endpuffer
ob_end_clean();

// Wenn Sie den Bildinhalt als Datei speichern möchten,Der folgende Code kann verwendet werden:
file_put_contents('captured_image.png', $imageData);

// Bildressourcen freigeben
imagedestroy($image);

// Endskript
echo 'Bilder erfasst und gespeichert。';
?>

Code analysieren

  1. OB_Start () : Diese Funktion startet den Ausgangspuffer von PHP, um sicherzustellen, dass der nachfolgende Ausgangsinhalt nicht direkt an den Browser gesendet wird, sondern vorübergehend im Speicher gespeichert wird.

  2. ImagecreateFromgd2 () : Diese Funktion liest die GD2 -Bilddatei des angegebenen Pfades und gibt eine Bildressource zurück.

  3. ImagePng () : Diese Funktion gibt das Bild im PNG -Format zum Puffer aus. Sie können nach Bedarf auch andere Funktionen wie ImageJpeg () oder ImageGif () verwenden.

  4. OB_get_Contents () : Ruft den Inhalt im aktuellen Ausgangspuffer ab, dh die erfassten Bilddaten.

  5. OB_END_CLEAN () : Löschen Sie den Puffer und schließen Sie ihn.

  6. Datei_put_Contents () : Speichern Sie die erfassten Bilddaten als PNG -Datei.

  7. Imagedestroy () : Kostenlose Bildressourcen, um Speicherleckage zu verhindern.

Beispiel für den Namen Ersatzdomainname

Wenn Sie eine URL -Adresse haben, die den Domänennamen enthält und den Domänennamen durch m66.net ersetzen möchten, können Sie dies so tun: