【问题标题】:How to get UIimage size dependent on screen resolution如何根据屏幕分辨率获取 UIimage 大小
【发布时间】:2013-08-24 12:21:17
【问题描述】:

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

例如,如果图像大小是 9690 X 4400,那么它应该返回取决于屏幕分辨率而不是实际大小的大小。

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

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

和 mac 一样,我们如何为 iOS 应用做点什么,知道吗?请帮忙。

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

谢谢

【问题讨论】:

  • 您是否需要重新缩放图像(或仅计算重新缩放图像的大小)以适合您的视图?
  • 只计算尺寸以适合我的视图。我不确定它在 OSX 中是如何工作的,但我想要这样。

标签: iphone ios macos uiimage nsimage


【解决方案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);
}

【讨论】:

    猜你喜欢
    • 2021-05-24
    • 1970-01-01
    • 2011-02-17
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多