我用 PHP 编写了一个用于裁剪图像的类,它可以工作。问题是我不懂数学。向您展示其工作原理的最佳方式可能是通过图像。
我不明白的是,imagecopyresampled()
在 PHP 中使用时,实际用作源图像的 x 和 y 变量的参考点。
起初我假设它是图像的中心,因此意味着绝对中心 = y/2 和 x/2。这适用于 y 值,但不适用于 x。我从重采样区域的左侧计算了 x。
(source y - resamplearea y) / 2
在我看来,有两个不同的参考点。我阅读了 PHP 手册中的相关文档,但我找不到任何关于参考点的信息。
它是从左下角引用的吗?如果是这样,为什么我必须自己解决这个问题?
小例子截图:
imagecopyresampled($outputImage, $this->tempImage, 0, 0, $this->src_x, $this->src_y, $this->outputx, $this->outputy, $this->inputImageWidth, $this->inputImageHeight);
我错过了什么吗?