Как получить размер UIimage в зависимости от разрешения экрана

В моем приложении, когда пользователь пытается загрузить изображение, мне нужен размер изображения в зависимости от разрешения экрана.

Например, если размер изображения 9690 X 4400, то он должен возвращать его размер в зависимости от разрешения экрана, а не от фактического размера.

Для приложения Mac (OSX) мы можем сделать с этим оператором и вернуть мне размер 561 X 264

NSImage *imageUpload = [[NSImage alloc] initWithContentsOfFile:fileName];

То же, что и для Mac, как мы можем сделать приложение для iOS, есть идеи? пожалуйста, помогите.

Есть ли способ получить это? Я сделал Google, но не нашел никаких результатов.

Спасибо


person Nikunj    schedule 24.08.2013    source источник
comment
вам нужно изменить масштаб изображения (или просто рассчитать размер масштабированного изображения), чтобы он соответствовал вашему представлению?   -  person Philip J. Fry    schedule 24.08.2013
comment
просто рассчитать размер, чтобы соответствовать моему мнению. Я не уверен, как это работает в OSX, но я хочу так же.   -  person Nikunj    schedule 24.08.2013


Ответы (1)


Попробуйте что-то вроде этого:

Сначала вы должны рассчитать соотношение сторон вашего представления:

double viewAspectRatio = myView.bounds.size.width / myView.bounds.size.height;

Во-вторых, вы должны рассчитать соотношение сторон вашего изображения:

double imageAspectRatio = myImage.size.width / myImage.size.height;

Итак, наконец

CGSize scaledSize;
if (imageAspectRatio > viewAspectRatio) {
    scaledSize = CGSizeMake(myView.bounds.size.width, myView.bounds.size.width / imageAspectRatio);
} else {
    scaledSize = CGSizeMake(myView.bounds.size.height * imageAspectRatio, myView.bounds.size.height);
}
person Philip J. Fry    schedule 24.08.2013