Sponsor-Board.de
PHP Bilder beschneiden

+- Sponsor-Board.de (https://www.sponsor-board.de)
+-- Forum: Community (/forumdisplay.php?fid=56)
+--- Forum: Hilfe (/forumdisplay.php?fid=102)
+---- Forum: Scripting (/forumdisplay.php?fid=108)
+---- Thema: PHP Bilder beschneiden (/showthread.php?tid=34849)


PHP Bilder beschneiden - Aaron - 25.01.2013 06:00

Guten Morgen,
ich komm mal wieder auch mit Google nicht weiter Wink

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

Twinker schrieb:
Morgen ,
auf der PHP.net Seite ist doch ein Beispiel.
Nur das du nicht mit Prozent arbeitetest sondern mit Pixelen.

PHP-Code:
<?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$image0000$new_width$new_height$width$height);

// Output
imagejpeg($image_pnull100);
?>


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-Code:
<?php
/*
USAGE EXAMPLE:
File: createthumb.php
Example: <img src="createthumb.php?filename=photo.jpg&amp;width=100&amp;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'])), -1strlen(fileperms($_GET['filename']))) < 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$degrees0);
        }
    }
    
         
$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&amp;width=100&amp;height=100

Bild Pfad
Breite
Höhe
Url zur Datei

MFG Jkoan