PHP < 5.5 的imagecrop()替代方法

9

一个简单的问题出于好奇,答案可能很复杂:是否可以通过组合其他GD函数在早期版本(如5.4)中模拟新的PHP 5.5 imagecrop()?

啊,但是请避免出现imagecrop() 黑线错误。 :p

1个回答

22

这应该是imagecrop()的一个即插即用的替代品(而且没有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;
}

使用方法:

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

请注意,在PHP 5.6.12中,该漏洞似乎已被修复。


1
看起来完美,但因为这个问题并不是我真正的问题,所以在标记你的答案之前,我会将解决方案传递给前面的人。 - user753531
1
我会将您的答案标记为已接受,但使用我的标准,因为这个解决方案不是针对我的问题,而且这个人没有给我适当的反馈。代表这个人,我感谢您。 - user753531

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接