ändern Sie die Größe eines Bildes auf eine exakte Größe, behalten Sie den Aspekt bei und füllen Sie jeden Platz in PHP aus

StackOverflow https://stackoverflow.com/questions/3209206

Frage

hj,

Angenommen, ich möchte ein Bild in eine exakte Größe konvertieren, z:400 x 300.Der Trick ist, wenn das Bild aufgrund seines Seitenverhältnisses nicht in 400 x 300 passt, platzieren Sie es dort mit schwarzen Rändern.

Ein 900x1200-Bild würde auf 225x300 herunterkonvertiert, um sein Seitenverhältnis beizubehalten, und dann links und rechts schwarze Ränder erhalten, um es auf 400x300 zu bringen.

Originalfotos:

|||||||||||||||||||||||  
|||||||||||||||||||||||  
|||||||||||||||||||||||  
|||||||||||||||||||||||  
|||||||||||||||||||||||  
|||||||||||||||||||||||  
|||||||||||||||||||||||  
|||||||||||||||||||||||  

nach der Größenänderung möchte ich ungefähr so aussehen:

_______________________
|+++++++++++++++++++++|
|+++++++++++++++++++++|
|+++++++++++++++++++++|
|+++++++||||||||++++++|
|+++++++||||||||++++++|
|+++++++++++++++++++++|
|+++++++++++++++++++++|
|_____________________|

der:"+++++++" Ich möchte etwas Farbe haben, und die "|||||||" sind das Bild in der Mitte!

leider habe ich noch keinen Code!

ich möchte so etwas:http://phpthumb.sourceforge.net/demo/demo/phpThumb.demo.demo.php#x22 Danke

War es hilfreich?

Lösung

Machen Sie sich mit dem vertraut gd Funktion, mit denen Sie Bilder bearbeiten können.

Sie müssen Ihr Bild mit einem der folgenden einlesen imagecreatefrom... Funktion.Dann müssen Sie ein zweites Bild erstellen, zum Beispiel mit, imagecreatetruecolor, die du füllen mit der Farbe Ihrer Wahl.Dann kopieren Sie das Originalbild mit in das neue Bild imagecopyresampled, wodurch Sie die Größe dabei ändern können.Sie müssen die neue Größe vorher mit einer einfachen Mathematik berechnen, die wie folgt funktioniert getimagesize kann dir dabei helfen.

Alternativ können Sie mit dem herumspielen ImageMagick klasse, die eine Alternative zu ist gd es kann einfacher sein, mit Ihnen zu arbeiten oder auch nicht.

Viel Glück!:)

Andere Tipps

Erstellen Sie einen DIV-Gerät, um einen schwarzen Hintergrund zu haben und bei 400x300 groß zu sein.Zeigen Sie dann Ihr gegründetes Bild in dieser Div.Sie können sogar eine Überprüfung aufnehmen, um sicherzustellen, dass das Bild nicht der gewünschte Aspekt ist, bevor Sie den Div anzeigen.

so etwas wie folgt:

generasacodicetagpre.

mit stützender CSS von:

generasacodicetagpre.

Ich bin ein großer Fan der Bearbeitung und Größe der Bilder im Voraus, um die Größe zu sein, die ich möchte, anstatt die Breite und die Höhe zu setzen, wenn es darin gerendert wird.Die Leistung ist besser und Sie müssen sich keine Sorgen machen, wie unterschiedliche Browser es anders umgehen könnten.

Wenn Sie also kein Bildbearbeitungsprogramm haben, erhalten Sie Paint.net.Frei und funktioniert gut.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top