我的图像顶部是424x318
它包含在一个444x338的div中。
我有一个185x185的“裁剪工具”(圆形中心部分),但是可以调整为最小50x50,最大尺寸为300x300(取决于放置)。
裁剪工具的顶部“边框/边距”为28像素,左边的“边框/边距”为20像素(这些是用于拉开标签的测量,紫色线条和白色的东西。但是它可以调整大小,这将通过调整大小百分比增加边界/边距(因此,如果整个事物变为1.5,则比例将为* 1.5)。
裁剪工具的总重量也是185x185 WxH。
标准位置是中心(66x120)。
现在好了,我们把所有这些都排除在外,我在试图寻找中心时遇到了问题。我传递给imagemagick处理的一点。我目前有以下
// Get variables
$left = $val->pos['0']; // this is posted from jquery, using position();
$top = $val->pos['1']; // this is posted from jquery, using position();
$scale = $val->scale; // this is posted from jquery, using width/185
$img = $val->image; // background image
$h = $scale*185;
// CENTER OF THE CIRCLE
$c1 = ($h*.5)+$left-20;
$c2 = ($h*.5)+$top-10;
// LEFT SIDE
$c3 = $left+(20*$scale)-10;
$c4 = ($h*.5)+$top-10;
$scalesize = $c1.",".$c2." ".$c3.",".$c4;
// Crop Size WxH+X+Y
$cr1 = $h-(40*$scale)-17;
$cr2 = $h-(40*$scale)-14;
$cr3 = $left-(20*$scale)+28;
$cr4 = $top+(20*$scale)-3;
$cropsize = $cr1."x".$cr2."+".$cr3."+".$cr4;
然后我使用
将其传递给imagemagick$return = exec('convert -size 424x318 xc:none -fill 'filename' -draw "circle '.$scalesize.'" -crop '.$cropsize.' +repage '.newfilename);
我只是不能为我的生活弄清楚我做错了什么。我一直在玩我最后减去的##,它最终只能用于一个尺寸,但是当我调整裁剪工具的大小时,它会把它弄得一团糟......有什么帮助吗?
答案 0 :(得分:0)
尝试一次一步:
答案 1 :(得分:0)
如果边距按比例调整,则必须相应地缩放常量。
这样的事情:
// CENTER OF THE CIRCLE
$c1 = ($h*.5)+$left-20 * scalesize; // Apply scale to constant
$c2 = ($h*.5)+$top-10 * scalesize; // Apply scale to constant