Aktueller Standort: Startseite> Neueste Artikel> Wie kann ich sein ursprüngliches Seitenverhältnis beibehalten, nachdem Sie ein Bild geworfen haben?

Wie kann ich sein ursprüngliches Seitenverhältnis beibehalten, nachdem Sie ein Bild geworfen haben?

gitbox 2025-05-27

In PHP ist die ImageFlip () -Funktion ein sehr nützliches Bildverarbeitungswerkzeug, mit dem Entwickler Bilder umdrehen können. Zu den allgemeinen Flips gehören horizontaler Flip, vertikaler Flip und Zwei-Richtung-Flip. Es wird oft häufig bei der Bildverarbeitung, Bearbeitung und dynamisch generierenden Bildern verwendet. Beim Umdrehen eines Bildes möchten wir jedoch das ursprüngliche Breiten- und Höhenverhältnis des Bildes unverändert halten, um aufgrund des Flippbetriebs unnatürliche Dehnung oder Komprimierungseffekte des Bildes zu vermeiden.

In diesem Artikel wird erläutert, wie die Funktion von ImageFlip () verwendet wird, um sicherzustellen, dass das Seitenverhältnis des Bildes beim Umdrehen eines Bildes immer konsistent ist.

1. Einführung in die Funktion PHP ImageFlip ()

ImageFlip () ist eine Bildverarbeitungsfunktion in PHP, die Bilder umdreht. Die grundlegende Syntax ist wie folgt:

 bool imageflip(resource $image, int $mode)

Parameterbeschreibung:

  • $ image : Die zu bedienende Bildressource ist normalerweise eine Bildressource, die durch Funktionen wie ImagecreateFromjpeg () , ImagecreateFrommpng () usw. erstellt wurde.

  • $ modus : Fliped Modus. Die optionalen Werte gehören:

    • Img_flip_horizontal : horizontal flip.

    • IMG_FLIP_VERTICAL : vertikal flip.

    • IMG_FLIP_BOTH : Flip horizontal und vertikal gleichzeitig.

2. wie man das Seitenverhältnis eines Bildes beibehält

Bei der Verwendung der ImageFlip () -Funktion führt PHP das ursprüngliche Seitenverhältnis des Bildes standardmäßig bei und verursacht keine Verformung des Bildes. Es ist jedoch erwähnenswert, dass in einigen Fällen (beispielsweise wenn die Bildgröße größer ist) das umgedrehte Bild in einem anderen Behälter angezeigt werden kann, der nicht unbedingt die gleiche Größe wie das Originalbild hat. Daher müssen wir eine zusätzliche Verarbeitung durchführen, um sicherzustellen, dass das Bild immer das Seitenverhältnis konstant hält.

Implementierungsschritte:

  • Holen Sie sich die ursprüngliche Größe des Bildes : Nehmen Sie vor dem Umdrehen zunächst die ursprüngliche Breite und Höhe des Bildes durch die Funktionen von ImagesX () und imagesy () ab.

  • Führen Sie den Flip -Betrieb aus : Verwenden Sie ImageFlip (), um das Bild zu drehen.

  • Größen Sie die Größe Container : Wenn das Bild angezeigt werden muss, stellen Sie sicher, dass die Größe des Containers mit dem Seitenverhältnis des Bildes übereinstimmt. Wenn das Bild in eine Webseite eingebettet ist, kann die Größe des Containers von CSS gesteuert werden.

3. Implementieren Sie Code -Beispiele

Hier ist ein einfaches Code -Beispiel, bei dem die Funktion von ImageFlip () verwendet wird, um das Bild horizontal umzudrehen und das ursprüngliche Seitenverhältnis beizubehalten:

 <?php
// Laden des Bildes
$imagePath = "path_to_your_image.jpg";
$image = imagecreatefromjpeg($imagePath);

// Holen Sie sich die ursprüngliche Breite und Höhe
$originalWidth = imagesx($image);
$originalHeight = imagesy($image);

// Drehen Sie das Bild um
imageflip($image, IMG_FLIP_HORIZONTAL);

// Erstellen Sie eine neue Bildressource,Halten Sie das ursprüngliche Seitenverhältnis bei
$newImage = imagecreatetruecolor($originalWidth, $originalHeight);

// Kopieren Sie das umgedrehte Bild in eine neue Bildressource
imagecopy($newImage, $image, 0, 0, 0, 0, $originalWidth, $originalHeight);

// Ausgabebild
header('Content-Type: image/jpeg');
imagejpeg($newImage);

// Zerstöre Bildressourcen
imagedestroy($image);
imagedestroy($newImage);
?>

Code Beschreibung:

  1. Laden Sie Bild : Verwenden Sie ImagecreateFromjpeg (), um JPEG -Bilder zu laden.

  2. Abmessungen erhalten : Holen Sie sich die Breite und Höhe des Originalbildes über ImagesX () und Imagessy () .

  3. Drehen Sie das Bild um : Verwenden Sie die Funktion von ImageFlip () , um horizontal umzudrehen (kann auch IMG_FLIP_VERTICAL für vertikale Flip oder img_flip_both für bidirektionales Flip verwenden).

  4. Erstellen Sie ein neues Bild : Verwenden Sie die Funktion imageCrreatTueColor (), um eine neue Bildressource zu erstellen, um sicherzustellen, dass die Größe des neuen Bildes mit dem Originalbild übereinstimmt.

  5. Ausgabebild : Verwenden Sie ImageJpeg (), um das umgedrehte Bild in den Browser auszugeben.

  6. Zerstöre Bildressourcen : Die Funktion von Imagedestroy () wird verwendet, um Bildressourcen zu freien, um Speicherleckage zu vermeiden.

4.. Dinge zu beachten

  • Bei Verwendung von ImageFlip () behält PHP automatisch das Seitenverhältnis des Bildes bei und verursacht keine Bildverformung.

  • Stellen Sie nach dem Umdrehen des Bildes sicher, dass der CSS -Stil seines Containers (wie Breite und Höhe) in HTML eingebettet werden muss, wenn das CSS -Stil mit der tatsächlichen Größe des Bildes übereinstimmt.

5. Zusammenfassung

Durch die ImageFlip () -Funktion können wir den Image Flip -Betrieb problemlos implementieren. Um die ursprüngliche Breite und Höhenverhältnis des Bildes unverändert zu halten, müssen wir nur sicherstellen, dass die Behältergröße des Bildes nach dem Flippen mit dem Originalbild übereinstimmt. In PHP ist der Betrieb von Flipping -Bildern sehr einfach, aber um den besten Display -Effekt zu erzielen, sind Bildgrößenverwaltung und Containersteuerung auch wichtige Punkte, auf die geachtet werden müssen.


Der letzte Teil (nicht mit dem Inhalt des Artikels bezieht)