2014-11-03 11 views
7

Eine einfache Frage motiviert durch eine Kuriosität, mit vermutlich einer komplexen Antwort: Ist es möglich, das neue PHP 5.5 imagecrop() in früheren Versionen wie 5.4 zu emulieren, indem man andere GD-Funktionen kombiniert?imagecrop() Alternative für PHP <5.5

Awn .. aber ohne die imagecrop() black line bug, bitte. : P

Antwort

16

Dies ist ein Drop-in-Ersatz für imagecrop() sein sollte (ohne Fehler ...):

function mycrop($src, array $rect) 
{ 
    $dest = imagecreatetruecolor($rect['width'], $rect['height']); 
    imagecopy(
     $dest, 
     $src, 
     0, 
     0, 
     $rect['x'], 
     $rect['y'], 
     $rect['width'], 
     $rect['height'] 
    ); 

    return $dest; 
} 

Verbrauch:

$img = mycrop($img, ['x' => 10, 'y' => 10, 'width' => 100, 'height' => 100]); 

Beachten Sie, dass der Fehler offenbar in PHP 5.6.12 fixiert ist .

+1

Anscheinend perfekt, aber weil dieses Problem nicht wirklich mein ist, werde ich die Lösung weiterleiten, bevor Sie Ihre Antwort markieren. –

+0

Ich werde Ihre Antwort als akzeptiert markieren, aber meine eigenen Kriterien verwenden, da diese Lösung nicht für ein Problem von mir war und die betreffende Person gab mir nicht das richtige Feedback. Im Namen dieser Person danke ich Ihnen. –