imagecrop() alternative for PHP < 5.5
Asked Answered
M

1

9

A simple question motivated by a curiosity, with probably a complex answer: Is it possible to emulate the new PHP 5.5 imagecrop() in earlier versions, like 5.4, by combining other GD functions?

Awn.. But without the imagecrop() black line bug, please. :p

Maculation answered 3/11, 2014 at 20:40 Comment(0)
M
22

This should be a drop-in replacement for imagecrop() (without the bug...):

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;
}

Usage:

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

Note that the bug is apparently fixed in PHP 5.6.12.

Marmolada answered 4/11, 2014 at 9:52 Comment(2)
Apparently perfect, but because this problem is not really mine I'll pass the solution ahead before mark your answer.Maculation
I'll mark your answer as accepted but using my own criteria, since this solution was not for a problem of mine and the person in question didn't give me the proper feedback. On behalf of this person, I thank you.Maculation

© 2022 - 2024 — McMap. All rights reserved.