Центр обрезки означает, что изображение будет отцентрировано, а затем обрезано снаружи. Таким образом, если изображение - imgHeight x imgWidth, представление - viewHeight x viewWidth, а пиксель, на который вы хотите указать, - это x, y на изображении
, если imgHeight> viewHeight, математика:
y-(imgHeight-viewHeight)/2
Фактически уменьшаем y на величину картинки, обрезанной сверху (что составляет половину разницы в высоте, другая половина обрезается снизу). Если этот ответ отрицательный или больше, чем viewHeight, стрелка указывает за пределы экрана (она обрезана).
, если imgHeight <= viewHeight, математика: </p>
y+(viewHeight- imageHeight)/2
В основном добавление нижнего отступа на высоту просмотра. Нижний отступ должен быть вдвое меньше разницы в высоте.
Направление х получается таким же, но с х и шириной.