Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle ich responsive Miniaturansichten aus hochgeladenen Bildern und behalte dabei die Originalqualität bei?

Wie erstelle ich responsive Miniaturansichten aus hochgeladenen Bildern und behalte dabei die Originalqualität bei?

Susan Sarandon
Susan SarandonOriginal
2024-11-06 21:10:03166Durchsuche

How to Create Responsive Thumbnails from Uploaded Images While Maintaining Original Quality?

Responsive Miniaturansichten aus hochgeladenen Bildern erstellen

Bei der Arbeit mit vom Benutzer hochgeladenen Bildern ist die Erstellung responsiver Miniaturansichten von entscheidender Bedeutung, um das Benutzererlebnis zu verbessern und die Leistung der Website aufrechtzuerhalten. Dieser Leitfaden befasst sich mit der Herausforderung, Miniaturansichten zu erstellen und gleichzeitig die ursprüngliche Bildqualität beizubehalten.

Miniaturansichten mit PHP generieren

PHP bietet eine Reihe von Bildbearbeitungsfunktionen, einschließlich imagecopyresized(). Um eine Miniaturansicht aus einem hochgeladenen Bild zu erstellen, führen Sie die folgenden Schritte aus:

  1. Originalbild abrufen: Verwenden Sie getimagesize(), um die Abmessungen und den MIME-Typ des Originalbilds abzurufen.
  2. Thumbnail-Abmessungen berechnen:Bestimmen Sie die gewünschte Thumbnail-Größe (z. B. 100x100 Pixel).
  3. Erstellen Sie eine neue Bildressource:Erstellen Sie eine neue Bildressource mit imagecreatetruecolor ().
  4. Größe des Bildes ändern: Verwenden Sie imagecopyresized(), um die Größe des Originalbilds an die Miniaturbildabmessungen anzupassen.
  5. Miniaturbild speichern: Verwenden Sie imagejpeg() oder imagepng(), um die Miniaturansicht an einem gewünschten Ort zu speichern.

Originalbildqualität beibehalten

Um die Qualität des Originalbildes beizubehalten, verwenden Sie einen höheren $quality-Parameter in imagejpeg() oder imagepng(). Dieser Parameter reicht von 0 bis 100, wobei ein höherer Wert eine bessere Qualität angibt.

Verwendung von ImageMagick

ImageMagick ist eine robustere Bildbearbeitungsbibliothek. Wenn es auf Ihrem Server installiert ist, können Sie die Imagick-Klasse nutzen, um Miniaturansichten zu generieren:

  1. ImageMagick installieren: Stellen Sie sicher, dass ImageMagick auf Ihrem Server installiert ist.
  2. Imagick-Objekt erstellen: Instanziieren Sie ein Imagick-Objekt mithilfe des Pfads des Originalbilds.
  3. Bildeigenschaften festlegen: Bildformat, Komprimierung und Qualität mithilfe von Klassenmethoden konfigurieren.
  4. Größe des Bildes ändern: Verwenden Sie thumbnailImage(), um die Größe des Bildes zu ändern.
  5. Miniaturansicht speichern: Verwenden Sie file_put_contents(), um das in der Größe geänderte Bild in eine neue Datei zu schreiben .

Beispielcode für die Erstellung von Miniaturansichten

Hier ist eine Beispieldatei imageupload.php, die so geändert wurde, dass sie die Erstellung von Miniaturansichten enthält:

...
if(isset($_FILES['image_data'])){
       if(is_uploaded_file($_FILES['image_data']['tmp_name'])) {

            // Original image processing
            $imgData =addslashes (file_get_contents($_FILES['image_data']['tmp_name']));

            // Thumbnail generation
            if (generateThumbnail($_FILES['image_data']['tmp_name'], 100, 100, 90)) {
                $thumbData = addslashes (file_get_contents($_FILES['image_data']['tmp_name'] . '_thumb.jpg'));

                // Insert original and thumbnail images into the database
                $sql = "UPDATE users SET user_pic='".$imgData."', user_pic_small='".$thumbData."' WHERE>

Dieser Code verwendet genericThumbnail(), um Erstellen Sie ein Miniaturbild mit den Abmessungen 100x100 und einer Qualität von 90 %. Das Miniaturbild wird dann mit dem Suffix „_thumb.jpg“ gespeichert.

Durch die Implementierung dieser Techniken können Sie sowohl eine responsive Miniaturbilderstellung als auch die Beibehaltung der ursprünglichen Bildqualität erreichen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich responsive Miniaturansichten aus hochgeladenen Bildern und behalte dabei die Originalqualität bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn