5 Stimmen

Proportionale Bildgrößenänderung

Ich möchte die Größe der hochgeladenen Bilder auf Breite: 180px mit proportionaler Höhe ändern. Gibt es irgendwelche Klassen, dies zu tun?

Danke für die Hilfe!

9voto

ndequeker Punkte 7702

Ich denke, diese Frage kann eine Antwort mit einem konkreten Code-Beispiel gebrauchen. Der folgende Code zeigt Ihnen, wie Sie die Größe eines Bildes innerhalb eines Verzeichnisses ändern können uploaded und speichern Sie das verkleinerte Bild in dem Ordner resized .

<?php
// the file
$filename = 'uploaded/my_image.jpg';

// the desired width of the image
$width = 180;

// content type
header('Content-Type: image/jpeg');

list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;
$height = $width/$ratio_orig;

// resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// output
imagejpeg($image_p, 'resized/my_image.jpg', 80);
?>

4voto

Zunächst müssen Sie die aktuellen Bildabmessungen ermitteln:

$width = imagesx($image);
$height = imagesy($image);

Berechnen Sie dann den Skalierungsfaktor:

$scalingFactor = $newImageWidth / $width;

Wenn Sie den Skalierungsfaktor haben, berechnen Sie einfach die neue Höhe des Bildes:

$newImageHeight = $height * $scalingFactor;

Erstellen Sie dann einfach das neue Bild;

$newImage = imagecreatetruecolor($newImageWidth, $newImageHeight);
imagecopyresampled($newImage, $image, 0, 0, 0, 0, $newImageWidth, $newImageHeight, $width, $height);

Wahrscheinlich werden diese Ausschnitte helfen:

http://www.codeslices.net/snippets/resize-scale-image-proportionally-to-given-width-in-php http://www.codeslices.net/snippets/resize-scale-image-proportionally-in-php

Zumindest haben sie bei mir funktioniert.

0voto

heximal Punkte 10079

Sie können die php-Funktion imagecopyresampled verwenden. Sie können auch neue Größen berechnen.

0voto

Ovais Khatri Punkte 3073

Verwenden Sie das Jquery-Plugin JCrop und legen Sie das Seitenverhältnis für das Bild fest... Überprüfen Sie diesen Link für Details: http://www.webresourcesdepot.com/jquery-image-crop-plugin-jcrop/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X