如何获取UIimage大小取决于屏幕分辨率

时间:2013-08-24 12:21:18

标签: iphone ios macos uiimage nsimage

在我的应用程序中,当用户尝试上传图像时,我希望图像大小基于屏幕分辨率。

例如,如果图像尺寸为9690 X 4400,则应根据屏幕分辨率而不是实际尺寸返回其尺寸。

对于mac应用程序(OSX),我们可以使用此语句,并返回大小为561 X 264

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

和mac一样,我们怎么能为iOS应用做任何想法?请帮助。

有没有办法得到这个?我做谷歌但没有找到任何结果。

由于

1 个答案:

答案 0 :(得分: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);
}