所以这是一个有趣的(或至少我认为是)。
原来我有两个相同图像的副本,一个是原始的,一个是调整大小以适合窗口的。
然后,用户在图像的调整大小版本上创建一个多边形,并使用一些 javascript 将坐标发送到 php 脚本,然后将多边形合并到原始图像中。
问题是,调整后的坐标与原始图像不同,它们之间仍然存在关系。
这是我如何在js中调整图像大小的代码:
if(h > 610 || w > 815){
while(h > 610 || w > 815){
h = Math.ceil(h*0.80);
w = Math.ceil(w*0.80);
}
}
此代码允许我将图像保留在工作区(610 x 815)内,同时保持一定的纵横比。
然后在php中我尝试恢复每个坐标内的调整大小,但这是我卡住的地方:
$values = array();
$num_points = count($polyCoords);
foreach($polyCoords as $coord){
array_push($values, intval($coord['x']) /* +- RELOCATE FACTOR? */ );
array_push($values, intval($coord['y']) /* +- RELOCATE FACTOR? */ );
}
有人可以帮我计算一下每个点的“重定位因子”吗?我有原始大小和调整大小的...大小。
任何想法都必须受到重视。谢谢。