视网膜显示器的矩形尺寸是多少?
Posted
技术标签:
【中文标题】视网膜显示器的矩形尺寸是多少?【英文标题】:what rect size for retina display? 【发布时间】:2012-07-18 09:30:34 【问题描述】:我只是想知道我的图像是否有 x*y 尺寸。
当视网膜显示设备显示使用CGRectMake(0,0,x,y)
创建的图像时,那会是像素化图像吗?
正确的大小应该是CGRectMake(0,0,x/2,y/2)
吗?
如何判断图像应具有的矩形大小?
我需要使用contentScaleFactor = [UIScreen mainScreen].scale;
吗?
或者除以它:CGRectMake(0,0,x/contentScaleFactor,y/contentScaleFactor)
?
【问题讨论】:
您也必须为视网膜显示器使用相同的尺寸(320*480 或 480*320)。在视网膜或正常显示的情况下,您可以考虑这些值。 【参考方案1】:尺寸测量为in points instead of pixels。视网膜和非视网膜显示设备都有相同的点。在非视网膜显示设备上,一个点等于一个像素,但在视网膜显示设备上,一个点等于两个像素。因此,您将同时使用CGRectMake(0,0,x,y)
。
为避免像素化图像,请确保提供带有@2x
后缀的双分辨率图像。例如,如果您的常规图像命名为foo.png
,则视网膜版本应命名为foo@2x.png
。
编码时,请随时参考foo.png
。当您的应用在视网膜显示设备上运行时,将自动使用双分辨率图像 (foo@2x.png
)。
【讨论】:
【参考方案2】:对于非视网膜图像 (myImage.png) 尺寸应为 21x21,您应放置另一个尺寸为 42x42 且带有 @2x 后缀 (myImage@2x.png) 的图像。在代码中你可以写一些类似的想法
UIImage *img = [UIImage imageNamed:@"myImage"];
此调用将根据 iPad 自动选择正确的文件。
正确的尺寸应该是
CGRectMake(0,0,21,21)
【讨论】:
【参考方案3】:术语“视网膜”和“非视网膜”与显示屏的分辨率有关,与显示屏的尺寸无关。而分辨率与每英寸(点)的像素数有关。
在这种情况下进行编码时,尺寸将保持不变,仅更改图像分辨率。
要了解如何在应用程序包中使用不同大小的资源,您可以查看此链接http://panditpakhurde.com/tech/?p=365
【讨论】:
以上是关于视网膜显示器的矩形尺寸是多少?的主要内容,如果未能解决你的问题,请参考以下文章