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

1 Answers1

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.

timclutton
  • 12,682
  • 3
  • 33
  • 43
  • 1
    Apparently perfect, but because this problem is not really mine I'll pass the solution ahead before mark your answer. –  Nov 04 '14 at 10:48
  • 1
    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. –  Nov 14 '14 at 15:28