У меня есть следующее изображение поверх изображения, которое точно 424x318
И это завернуто в div, который 444x338.
И у меня есть «инструмент обрезки» (центральная часть круга), который имеет размер 185x185, НО может изменить размер, чтобы быть минимум 50x50 и максимум около 300x300 (в зависимости от размещения).
Инструмент обрезки имеет верхнюю "рамку / поле" в 28 пикселей и левую "рамку / поле" в 20 пикселей (это измерения, которые занимают вкладки, а также фиолетовые линии и белые элементы. Однако его можно изменить в размере). , что увеличило бы границу / маржу на процент изменения размера (поэтому, если все это значение достигнет 1,5, масштаб будет * 1,5).
Инструмент для обрезки также имеет общий размер 185x185 ШхВ.
Стандартной позицией является центр (который равен 66x120).
Хорошо, теперь, когда мы избавились от всего этого, у меня возникла проблема с попыткой найти центр и одну точку, которую я передаю для обработки изображений. В настоящее время у меня есть следующее
// 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);
Я просто не могу на всю жизнь понять, что я делаю неправильно. Я продолжаю играть с ##, которые я вычитаю в конце, и это в конечном итоге работает на один размер, но затем, когда я изменяю размер инструмента кадрирования, он все портит ... Любая помощь?