Objective c 视网膜显示的矩形尺寸是多少?
我只是想知道我的图像是否有x*y维度 当视网膜显示设备显示用Objective c 视网膜显示的矩形尺寸是多少?,objective-c,ios,xcode,retina-display,Objective C,Ios,Xcode,Retina Display,我只是想知道我的图像是否有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)?测量维度。视网膜和非视
CGRectMake(0,0,x,y)
创建的图像时,这会是像素化图像吗
是否应该使用正确的大小CGRectMake(0,0,x/2,y/2)
如何判断图像应该具有的矩形大小
我是否需要使用contentScaleFactor=[UIScreen mainScreen].scale代码>
或者可以除以它,如:CGRectMake(0,0,x/contentScaleFactor,y/contentScaleFactor)
?测量维度。视网膜和非视网膜显示设备具有相同的点。在非视网膜显示设备上,一个点等于一个像素,但在视网膜显示设备上,一个点等于两个像素。因此,您将使用CGRectMake(0,0,x,y)
来处理这两个问题
要避免像素化图像,请确保提供带有@2x
后缀的双分辨率图像。例如,如果您的常规图像名为foo.png
,则视网膜版本应命名为foo@2x.png
编码时,请始终参考foo.png
。当您的应用程序在视网膜显示设备上运行时,双分辨率图像(foo@2x.png
)将自动使用。对于非视网膜图像(myImage.png)大小应为21x21,您应放置另一个带有@2x后缀的图像(myImage@2x.png)尺寸为42x42。在代码中,您可以编写一些类似于
UIImage *img = [UIImage imageNamed:@"myImage"];
此呼叫将根据iPad自动选择正确的文件
正确的尺寸应该是
CGRectMake(0,0,21,21)
术语“视网膜”和“非视网膜”与显示屏的分辨率有关,而与显示屏的尺寸无关。分辨率与每英寸(点)的像素数有关
在这种情况下编码时,尺寸将保持不变,只有图像分辨率会改变
要了解如何在应用程序包中使用不同大小的资源,您可以查看此链接您还必须为视网膜显示使用相同的尺寸(320*480或480*320)。在视网膜或正常显示的情况下,您可以考虑这些值。