iPhone SDK: проблема с масштабированием изображения - PullRequest
3 голосов
/ 25 июня 2011

В моем приложении я увеличиваю размер изображения и уменьшаю его, используя следующий код:

float xx = image.frame.origin.x;
float yy = image.frame.origin.y;

image.frame = CGRectMake(xx,yy, width*0.98, height*0.98);


float xx = image.frame.origin.x;
float yy = image.frame.origin.y;

image.frame = CGRectMake(xx,yy, width*1.02, height*1.02);

Что этот код делает, так это масштабирует изображение с начала слева вверху, следовательно, какмасштабирование выполнено, фокус изображения перемещается за пределы экрана, увеличивается с увеличением, уменьшается с уменьшением.

Итак, проблема, с которой я столкнулся, заключается в том, что фокус моего изображения находится не сверху слева, ав определенной точке на изображении.Когда мое изображение масштабируется, оно масштабируется с использованием верхнего левого угла в качестве источника.Как я могу изменить точку, в которой изображение масштабируется, или, предпочтительно, математически рассчитать перевод новой формы, чтобы положение новой точки фокусировки было перемещено туда, где была бы точка немасштабированного изображения?Спасибо

1 Ответ

0 голосов
/ 25 июня 2011

Используя ваш метод масштабирования, вы должны пересчитать другую точку на изображении, которую вы хотите использовать в качестве исходной точки.И из этой новой точки вы должны получить новые координаты xx и yy или использовать image.center.

Вам также следует взглянуть на CGAffineTransform Reference , потому что каждый UIView имеет свойство преобразования.

...