PHP 使用 GD 将图像减少到使用的像素


PHP Reduce Image Down to Used Pixels with GD

这听起来比实际更难,我可以对此进行编程,尽管我正在寻找快捷方式。

我有一个透明的PNG,尺寸为250x525像素。里面是一个可以由我的用户自定义的角色,因此 250x525 图像中真实内容的尺寸可能会有所不同。我想通过检测第一个像素在垂直和水平方向上开始的位置以及最后一个像素的结束位置,将 250x525 图像缩小到头像。

有捷径吗?一个功能,或者另一种方式?我想将其应用于的图像示例:http://i.troll.ws/92f2db20.png - 想象角色周围的一个框。我想计算它周围的一个隐形框,并将角色从中拉出到GD中自己的图像资源中。

原因: 我有一个函数可以拍摄图像并缩放它以适应更大的图像。我想把它应用到这些角色身上,首先需要把它简化为角色。

不是GD,但Imagemagick/Imagick能够通过trimImage方法做到这一点。

$im = new Imagick("http://i.troll.ws/92f2db20.png");
$im->trimImage(0);
$im->writeImage('image.png');