PHP Bilder beschneiden - Aaron - 25.01.2013 06:00
Guten Morgen,
ich komm mal wieder auch mit Google nicht weiter 
Ich verkleinere Bilder auf eine einheitliche Breite und möchte nun auch eine feste Höhe erzwingen, also nach 150px den Rest zb. unten abschneiden .. wie mache ich das ?
Möglich mit folgender Funktion ? : [Link: Registrierung erforderlich]
Danke für jeden Denkanstoss und jede Hilfe!
PS: Möchte schon die GD Library nutzen, nicht imagemagick o.ä.
mfg Aaron
RE: PHP Bilder beschneiden - _DEL3891 - 25.01.2013 07:31
-
RE: PHP Bilder beschneiden - Aaron - 25.01.2013 08:13
Morgen ,
auf der PHP.net Seite ist doch ein Beispiel.
Nur das du nicht mit Prozent arbeitetest sondern mit Pixelen.
<?php // The file $filename = 'test.jpg'; $percent = 0.5;
// Content type header('Content-Type: image/jpeg');
// Get new dimensions list($width, $height) = getimagesize($filename); $new_width = $width * $percent; $new_height = $height * $percent;
// Resample $image_p = imagecreatetruecolor($new_width, $new_height); $image = imagecreatefromjpeg($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// Output imagejpeg($image_p, null, 100); ?>
Morgen, da wird das Bild aber verkleinert, oder ?
Das proportionale Verkleinern geht ja schon, wie geschrieben, nur möchte ich jetzt den Rest abschneiden, damit die Höhe auch einheitlich ist, ohne das sich was verzerrt
pushsubject - push - 29.01.2013 16:22
pushmessage
RE: PHP Bilder beschneiden - Jkoan - 29.01.2013 16:54
Dewnke das hier kann dir helfen:
<?php /* USAGE EXAMPLE: File: createthumb.php Example: <img src="createthumb.php?filename=photo.jpg&width=100&height=100"> */ // error_reporting(E_ALL);
if (preg_match("/.jpg$|.jpeg$/i", $_GET['filename'])) header('Content-type: image/jpeg'); if (preg_match("/.gif$/i", $_GET['filename'])) header('Content-type: image/gif'); if (preg_match("/.png$/i", $_GET['filename'])) header('Content-type: image/png');
// Display error image if file isn't found if (!is_file($_GET['filename'])) { header('Content-type: image/jpeg'); $errorimage = ImageCreateFromJPEG('images/questionmark.jpg'); ImageJPEG($errorimage,null,90); } // Display error image if file exists, but can't be opened if (substr(decoct(fileperms($_GET['filename'])), -1, strlen(fileperms($_GET['filename']))) < 4 OR substr(decoct(fileperms($_GET['filename'])), -3,1) < 4) { header('Content-type: image/jpeg'); $errorimage = ImageCreateFromJPEG('images/cannotopen.jpg'); ImageJPEG($errorimage,null,90); } // Define variables $target = ""; $xoord = 0; $yoord = 0;
if ($_GET['size'] == "") $_GET['size'] = 120; // $imgsize = GetImageSize($_GET['filename']); $width = $imgsize[0]; $height = $imgsize[1]; if ($width > $height) { // If the width is greater than the height it’s a horizontal picture $xoord = ceil(($width-$height)/2); $width = $height; // Then we read a square frame that equals the width } else { $yoord = ceil(($height-$width)/2); $height = $width; }
// Rotate JPG pictures if (preg_match("/.jpg$|.jpeg$/i", $_GET['filename'])) { if (function_exists('exif_read_data') && function_exists('imagerotate')) { $exif = exif_read_data($_GET['filename']); $ort = $exif['IFD0']['Orientation']; $degrees = 0; switch($ort) { case 6: // 90 rotate right $degrees = 270; break; case 8: // 90 rotate left $degrees = 90; break; } if ($degrees != 0) $target = imagerotate($target, $degrees, 0); } } $target = ImageCreatetruecolor($_GET['size'],$_GET['size']); if (preg_match("/.jpg$/i", $_GET['filename'])) $source = ImageCreateFromJPEG($_GET['filename']); if (preg_match("/.gif$/i", $_GET['filename'])) $source = ImageCreateFromGIF($_GET['filename']); if (preg_match("/.png$/i", $_GET['filename'])) $source = ImageCreateFromPNG($_GET['filename']); imagecopyresampled($target,$source,0,0,$xoord,$yoord,$_GET['size'],$_GET['size'],$width,$height); imagedestroy($source);
if (preg_match("/.jpg$/i", $_GET['filename'])) ImageJPEG($target,null,90); if (preg_match("/.gif$/i", $_GET['filename'])) ImageGIF($target,null,90); if (preg_match("/.png$/i", $_GET['filename'])) ImageJPEG($target,null,90); // Using ImageJPEG on purpose imagedestroy($target);
?>
RE: PHP Bilder beschneiden - Aaron - 29.01.2013 16:58
Quelle ?
Wo wird da denn geschnitten (oder welche Parameter sind wichtig) ? Dafür leider etwas mager auskommentiert
RE: PHP Bilder beschneiden - Jkoan - 29.01.2013 17:06
Quelle: aus [Link: Registrierung erforderlich]
und zur nutzung einfach createthumb.php?filename=photo.jpg&width=100&height=100
Bild Pfad
Breite
Höhe
Url zur Datei
MFG Jkoan
|