据我所知,Retina显示器的像素数是非视网膜显示器的2倍,但使用@ 2x版本拍摄和拍摄512 x 512图像并通过画面尺寸约束它会有什么不同? / p>
澄清:
如果我有一个72 x 72的按钮在iPhone上显示它的正确方法是
image.png = 72x72
image@2x.png = 144 x 144< ---固定:) TY
但为什么不使用1张图片:
image.png = 512x512
并做这样的事情:
UIImageView *myImage = [[UIImageView alloc] init ];
[myImage setImage:[UIImage imageNamed:@"image.png"]];
[myImage setFrame:CGRectMake(50, 50, 72, 72)];
我确信有一个很好的理由,我只是不知道它是什么,其他可能是一个较小的应用程序文件大小?
感谢您的教育!
答案 0 :(得分:4)
正确调整图像大小有几个很好的理由,但主要原因必须是图像清晰度:在调整图像大小时,通常最终会出现使图像看起来很混乱或像素化的文物。通过以正确的大小创建图像,您将确切地知道最终用户将在他或她的屏幕上看到的内容。
另一个原因就是减少二进制文件的整体文件大小:16x16图标占用的字节数比512x512图像少。
如果您需要第三个原因:诸如[UIImage imageWithName:@“xxxx”]之类的便利方法会生成实际大小的图像,并且通常不需要额外的帧/边界代码来与它们一起使用。如果你知道它的大小,你可以省去很多头痛。
答案 1 :(得分:2)
因为调整大小时图像可能无法正确显示。还因为较大的图像使用更多的内存。但如果这些都不适合你,你可以使用一个图像用于视网膜和非视网膜显示器。
答案 2 :(得分:1)
因为大图像会占用大量内存和CPU / GPU周期。另一个原因是缩小图像会导致像素级质量问题。
答案 3 :(得分:1)
除了额外的内存和CPU之外,对图像进行下采样本质上是有损的。漂亮的渲染线条变得粗糙。
答案 4 :(得分:0)
如果源图像与显示的图像完全相同,则存在@ 2x命名约定。然后,您可以为非视网膜iPhone提供57x57应用程序图标,为视网膜显示iPhone提供114x114应用程序图标。
答案 5 :(得分:0)
使用2张图片的主要优点是,两张图片都可以由设计师手工制作,所以一切看起来都很好,不需要升级或缩小代码,这会耗费能量,降低性能并且可能包含错误。