我想使用Assets中设置的图像实例化UIImage。我尝试了这两种方法-
[UIImage imageNamed:myImageSetName]
和
[UIImage imageNamed:myImageSetName inBundle:nil compatibleWithTraitCollection:nil]
在这两种情况下,似乎都返回分辨率为320 * 480的图像,这是图像集默认图像的分辨率。我尝试在iPhone 6s plus(11.3)和iPad pro 12.9 inch(11.3)上运行)模拟器。因此,我希望分辨率会与此不同。
如何根据设备/操作系统获得具有适当分辨率的图像?还是我假设有什么问题?
答案 0 :(得分:1)
此结果符合预期。 如果要在当前设备上获得真实图像的大小,则需要考虑屏幕分辨率。
例如:UIScreen.mainScreen().scale
或者为了进行计算,您可以根据设备使用x2或x3。
因此,对于iPhone 6s plus来说,它将是(2 x 320)*(2 x 480)
对于显示,如果您已设置所有图像资产,iOS会为您处理。
要获取实际的图像尺寸,您需要将缩放比例用于计算:
If you multiply the logical size of the image (stored in the size property) by the value in this property, you get the dimensions of the image in pixels.
https://developer.apple.com/documentation/uikit/uiimage/1624110-scale
答案 1 :(得分:0)
您可以在Mac上使用名为App Icon Gear的应用程序。并使用它将图像切成您想要的尺寸。试试看,可能对您有帮助。或查看有关imageView的一些约束条件。