Aktueller Standort: Startseite> Neueste Artikel> Kombinieren

Kombinieren

M66 2025-05-31

Bei der Arbeit mit Bildmedumbilzen müssen wir häufig nicht nur die Bildgröße reduzieren, sondern auch das Bild (wie horizontal oder vertikal) umdrehen, um die Bedürfnisse bestimmter visueller Effekte zu erfüllen. PHP liefert zwei sehr praktische Funktionen: ImageCopyresampled () und ImageFlip () , die zum Bildskalieren bzw. zum Bild des Bildes verwendet werden. Wenn Sie eine draufgedrehte und hochwertige Miniaturansicht machen möchten, funktionieren diese beiden Funktionen perfekt.

1. Verstehen Sie die beiden Kernfunktionen

imagecopyresampled ()

Diese Funktion wird verwendet, um einen Teil des Bildes in ein anderes Bild zu kopieren und zu skalieren, wobei die hochwertige Bildskalierungsverarbeitung unterstützt wird. Im Vergleich zu imageCopyressierten () ist sein Effekt empfindlicher und für die Erzeugung von Miniaturansichten geeignet.

ImageFlip ()

Die ImageFlip () -Funktion wird verwendet, um ein Bild zu drehen, das gleichzeitig horizontal, vertikal und horizontal + vertikaler Flip unterstützt. Diese Funktion wurde seit Php 5.5 eingeführt.

2. Tatsächliches Beispiel: Erstellen Sie umgedrehte hochwertige Miniaturansichten

Hier ist ein vollständiger Beispielcode, der ein Originalbild skaliert, um eine Miniaturansicht zu generieren, und dann horizontal die Miniaturansicht umdreht:

 <?php
// Originalbildpfad
$sourcePath = 'https://m66.net/uploads/sample.jpg';

// Bildinformationen erhalten
list($width, $height, $type) = getimagesize($sourcePath);

// Bildressourcen erstellen
switch ($type) {
    case IMAGETYPE_JPEG:
        $sourceImage = imagecreatefromjpeg($sourcePath);
        break;
    case IMAGETYPE_PNG:
        $sourceImage = imagecreatefrompng($sourcePath);
        break;
    case IMAGETYPE_GIF:
        $sourceImage = imagecreatefromgif($sourcePath);
        break;
    default:
        die('Nicht unterstützte Bildtypen');
}

// Miniaturgröße
$newWidth = 150;
$newHeight = intval($height * $newWidth / $width);

// Erstellen Sie eine Zielbildressource
$thumbImage = imagecreatetruecolor($newWidth, $newHeight);

// Hochwertige Skalierung
imagecopyresampled($thumbImage, $sourceImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);

// Miniaturansichten(Horizontaler Flip)
imageflip($thumbImage, IMG_FLIP_HORIZONTAL);

// Ausgabe zum Browser oder speichern
header('Content-Type: image/jpeg');
imagejpeg($thumbImage);

// Ressourcen zerstören
imagedestroy($sourceImage);
imagedestroy($thumbImage);
?>

3. Einige Dinge zu beachten

  • Stellen Sie vor der Verwendung von ImageFlip () sicher, dass Ihre PHP -Version nicht niedriger als 5,5 ist.

  • Um den Bildanteil aufrechtzuerhalten, wird empfohlen, die Miniaturgröße gemäß dem Seitenverhältnis des Originalbildes zu berechnen.

  • Wenn Sie PNG -Bilder verarbeiten, denken Sie daran, mit transparenten Hintergründen (wie z. B. Verwendung von ImagealPableing () und ImagesAvealpha () ) umzugehen.

4. Praktische Anwendungsszenarien

Diese Verarbeitungsmethode ist in E-Commerce-Plattformen, Galerien, Content-Management-Systemen und anderen Szenarien sehr häufig vorkommt, insbesondere wenn Sie Bildvoranträge generieren und visuelle Effekte (z. B. Spiegel) hinzufügen müssen, kann die Kombination von ImageFlip () und imageCopyresampled () die Entwicklungseffizienz und die Bildqualität erheblich verbessern.

Durch die Erklärung dieses Artikels können Sie es leicht erfassen