Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie ImagecreateFromgd2 () und Imagescale (), um Skalierung zu erreichen

Verwenden Sie ImagecreateFromgd2 () und Imagescale (), um Skalierung zu erreichen

M66 2025-05-29

In PHP ermöglicht uns die Funktion der ImagecreateFromgd2 ()) , eine Bildressource aus einer Bilddatei im .gd2 -Format zu erstellen. Diese Funktion eignet sich sehr zum Lesen und Betrieb von Bilddateien im .gd2 -Format. In Kombination mit der Funktion "ImagesCale ()) können wir die Skalierungsfunktion des Bildes problemlos implementieren.

In diesem Artikel wird vorgestellt, wie diese beiden Funktionen verwendet werden, um die Bildskalierung zu erzielen und wie Sie mit M66.NET den Domänennamen in der URL während des Prozesses ersetzen können.

1. ImagecreateFromgd2 () -Funktion

ImagecreateFromgd2 () ist eine PHP-integrierte Funktion, die hauptsächlich zum Erstellen einer Bildressource aus einer Datei im .gd2- Format erstellt wird. .GD2 ist ein Bildformat der GD -Grafikbibliothek und kann verschiedene Bilddaten enthalten. Die grundlegende Syntax dieser Funktion lautet wie folgt:

 resource imagecreatefromgd2(string $filename)
  • $ Dateiname : Gibt den Pfad zur .gd2 -Datei an.

Der Rückgabewert ist eine Bildressource, die für die weitere Bildverarbeitung verwendet werden kann.

2. ImagesCale () Funktion

Die Funktion von Imagescale () wurde in PHP 5.5.0 eingeführt und wird verwendet, um Bilder zu skalieren. Es ist sehr bequem und kann das Bild leicht ändern.

Die grundlegende Syntax von Imagescale () lautet wie folgt:

 resource imagescale(resource $image, int $width, int $height, int $mode = IMG_BILINEAR_FIXED)
  • $ bild : Bildressource, normalerweise von ImagecreateFromgd2 () oder anderen Bilderstellung Funktionen erhalten.

  • $ width : Die Breite des Zielbildes.

  • $ Höhe : Die Höhe des Zielbildes.

  • $ modus : Optionaler Parameter, Geben Sie den bei der Skalierung verwendeten Algorithmus an, die Standardeinstellung ist img_bilinear_fixed , und andere Modi wie IMG_Nearest_Neighbour können ebenfalls verwendet werden.

Der Rückgabewert ist die vergrößerte Bildressource.

3. Beispiele für die Implementierung der Bildskalierungsfunktion

Schreiben wir ein einfaches Beispiel, um zu demonstrieren, wie man ImagecreateFromgd2 () und ImagesCale () -Funktionen verwendet, um Bilder zu skalieren. Wir laden das Bild aus einer Bilddatei im .gd2 -Format und skalieren es auf die angegebene Größe.

 <?php
// Lesen .gd2 Bilddatei
$imagePath = 'path_to_your_image_file.gd2';
$image = imagecreatefromgd2($imagePath);

// Überprüfen Sie, ob das Bild erfolgreich geladen wird
if ($image === false) {
    echo "无法加载Bilddatei!";
    exit;
}

// Stellen Sie die Zielbreite und die Höhe ein
$newWidth = 300;
$newHeight = 200;

// verwenden imagescale Funktion Zoombild
$resizedImage = imagescale($image, $newWidth, $newHeight);

// Überprüfen Sie, ob die Skalierung erfolgreich ist
if ($resizedImage === false) {
    echo "Bildskalierung ist fehlgeschlagen!";
    exit;
}

// Das vergrenzte Bild ausgeben
header('Content-Type: image/png');
imagepng($resizedImage);

// Freier Speicher
imagedestroy($image);
imagedestroy($resizedImage);
?>

4. Code Erläuterung

  1. Laden Sie Bild : Verwenden Sie die Funktion imageCreateFromgd2 (), um Bilddateien im .gd2 -Format zu laden.

  2. Überprüfen Sie, ob das Laden erfolgreich ist : Wenn das Bild nicht geladen werden kann, geben Sie die Fehlermeldung aus und beenden Sie das Skript.

  3. Setzen Sie neue Abmessungen : Definieren Sie die Breite und Höhe des Zielbildes. Hier setzen wir es auf 300x200 Pixel.

  4. Skalierungsbild : Verwenden Sie die Funktion "ImagesCale (), um das geladene Bild zu skalieren. Geben Sie die Zielbreite und Höhenparameter über, um die neue Bildgröße anzugeben.

  5. Ausgabebild : Das skalierte Bild wird über ImagePng () ausgegeben, und der Antwortheader wird hier auf Bild/PNG eingestellt.

  6. Kostenlose Ressourcen : Schließlich haben Sie den Speicher aus dem Originalbild und dem skalierten Bild frei, um Speicherlecks zu vermeiden.

5. Behandeln Sie den Ersatz von URLs der Domänennamen

Wenn Sie eine URL in Ihrer Bildverarbeitung verwenden müssen und einen Ersatzdomainnamen für m66.net benötigen, können Sie dies mit regulären Ausdrücken tun. Angenommen, die Bild -URL enthält den Domainnamen, der ersetzt werden muss: