3

我目前正在为客户端构建一个图像裁剪工具,前端允许用户上传图像并放大/缩小并平移缩放的图像,直到他们满意为止。

这一切都很好,当我需要裁剪此图像时,它开始变得复杂,当我将其发布到我的 PHP 脚本时,该工具使用 css 转换来放大和缩小并处理平移,我得到了一个像这样的数组:

(
[0] => 0.4095092758326518
[1] =>  0
[2] =>  0
[3] =>  0.4095092758326518
[4] =>  -1257.469970703125
[5] =>  -441.6499938964844
)

我已经计算出 [0] 是比例因子,而 [4] 和 [5] 是我的 x、y 位置,为了获得正确的位置,我将 x 和 y 位置除以键 0 中的比例因子。

然后我需要得到我正在裁剪的视口的宽度和高度(例如)329px x 237px,它按比例因子 0.277 缩小(最终输出需要放大以匹配这个)

我正在使用 WideImage php 库,但也可以访问 imageMagick,

我用于计算最终 x、y 以及宽度和高度值的代码如下所示:

$width = $vport['w']/$scale;
$height = $vport['h']/$scale;
$posY = (abs($matrix[5]))/$matrix[0];
$posX = (abs($matrix[4]))/$matrix[0];

$matrix 是我的 CSS 变换数组,$scale 是 = 0.277

这似乎并不能很好地工作,但是在某些缩放级别上它会中断。我很感激我可能不清楚什么是错的或问题是什么,老实说我不了解自己。如果有人建造了这样的东西,或者对我可能出错的地方有一些建议,那就太好了。

汤姆:)

4

0 回答 0