Heim > Backend-Entwicklung > PHP-Tutorial > Wie erstelle ich Miniaturansichten aus hochgeladenen Bildern unter Beibehaltung des Seitenverhältnisses?

Wie erstelle ich Miniaturansichten aus hochgeladenen Bildern unter Beibehaltung des Seitenverhältnisses?

Susan Sarandon
Freigeben: 2024-11-07 02:55:03
Original
984 Leute haben es durchsucht

How to Create Thumbnails from Uploaded Images While Preserving Aspect Ratio?

Miniaturansichten aus hochgeladenen Bildern zur Beibehaltung des Seitenverhältnisses erstellen

Einführung:

Wenn Benutzer Bilder auf Ihre Website hochladen, ist das der Fall Oft ist es wünschenswert, eine Miniaturansicht zu erstellen, um eine kleinere Version des Bildes anzuzeigen, ohne das Seitenverhältnis zu beeinträchtigen. Hier finden Sie eine umfassende Anleitung zum Erstellen von Miniaturansichten unter Beibehaltung des Originalbilds.

Die Herausforderung:

Ihr Ziel ist es, zwei Versionen eines hochgeladenen Bildes zu erstellen: das Original Bild und eine Miniaturansicht. Das Originalbild sollte auf Ihrem Server gespeichert werden und das Miniaturbild sollte eine kleinere Version des Originals sein, die sein Seitenverhältnis beibehält.

Implementierung:

1. Bilddaten abrufen:

In PHP können Sie die hochgeladenen Bilddaten mithilfe der globalen Variablen $_FILES abrufen. Verwenden Sie die Funktion file_get_contents(), um die Bilddaten in einen String einzulesen.

2. Bildabmessungen bestimmen:

Ermitteln Sie die Bildabmessungen mit der Funktion getimagesize(). Dadurch wird ein Array zurückgegeben, das die Breite, Höhe und andere Informationen zum Bild enthält.

3. Erstellen Sie ein Miniaturbild:

Verwenden Sie eine Bildverarbeitungsbibliothek wie Imagick, um das Miniaturbild zu erstellen. Imagick bietet verschiedene Methoden zur Bildbearbeitung, einschließlich Größenänderung und Zuschneiden. Stellen Sie sicher, dass Sie bei der Größenänderung das Seitenverhältnis beibehalten, um eine Dehnung oder Stauchung des Bildes zu vermeiden.

4. Speichern Sie die Bilder:

Speichern Sie sowohl das Originalbild als auch die Miniaturansicht mit der Funktion file_put_contents() auf Ihrem Server. Stellen Sie sicher, dass Sie eindeutige Dateinamen für die Miniaturansicht verwenden, indem Sie beispielsweise ein Präfix oder Suffix hinzufügen, um ein Überschreiben des Originalbilds zu vermeiden.

5. Bildgröße ändern (zusätzliche Option):

Wenn Imagick auf Ihrem Server nicht verfügbar ist, können Sie die GD-Bibliothek verwenden. Hier ist eine Beispielfunktion, die GD verwendet, um ein Miniaturbild zu erstellen:

function makeThumbnails($updir, $img, $id)
{
    $thumbnail_width = 134;
    $thumbnail_height = 189;
    $arr_image_details = getimagesize("$updir" . $id . '_' . "$img");
    // Calculate new dimensions while preserving aspect ratio
    // ...
    // Create new image and copy from original image with resizing
    // ...
    // Save the thumbnail
    imagepng($new_image, "$updir" . $id . '_' . "thumb" . "$img");
}
Nach dem Login kopieren

Fazit:

Wenn Sie diese Schritte befolgen und die entsprechende Bildverarbeitungsbibliothek verwenden, können Sie dies effektiv tun Erstellen Sie Miniaturansichten aus hochgeladenen Bildern und behalten Sie dabei deren Seitenverhältnisse bei. Dadurch wird sichergestellt, dass Ihre Miniaturansichten die Integrität der Originalbilder bewahren und die visuelle Attraktivität Ihrer Website oder Anwendung verbessern.

Das obige ist der detaillierte Inhalt vonWie erstelle ich Miniaturansichten aus hochgeladenen Bildern unter Beibehaltung des Seitenverhältnisses?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage