Ios 加载不同大小的图像
我的支持文件文件夹中有一张图片,我想用手机的整个宽度。它们是这样的:Ios 加载不同大小的图像,ios,objective-c,uiimage,Ios,Objective C,Uiimage,我的支持文件文件夹中有一张图片,我想用手机的整个宽度。它们是这样的: img.png -> 320x205 img@2x.png -> 750x410 img@3x.png -> 1242x615 UIImage *img = [UIImage imageNamed:@"img"]; 我像这样加载图像: img.png -> 320x205 img@2x.png -> 750x410 img@3x.png -> 1242x615 UIImage *img
img.png -> 320x205
img@2x.png -> 750x410
img@3x.png -> 1242x615
UIImage *img = [UIImage imageNamed:@"img"];
我像这样加载图像:
img.png -> 320x205
img@2x.png -> 750x410
img@3x.png -> 1242x615
UIImage *img = [UIImage imageNamed:@"img"];
当我记录此图像的大小时,我得到:
NSLog(@"@@@ Width: %f - Height: %f", img.size.width, img.size.height);
@@@ Width: 375.000000 - Height: 205.000000
为什么我的图像与它的文件大小不同?这里2x和3x表示图像的大小将是原始图像的2英寸和原始图像的3英寸。 您没有该格式的图像大小,因此它将显示这种类型的输出 示例:-如果我的图像1x为:-320*240,则2x将为:-640*480 3x为-960*720 这是放置2倍和3倍图像的正确格式。完成此操作后,日志将显示正确答案 size.width或size.height以点为单位测量,而不是以像素为单位 苹果使用的点可以独立于手机的分辨率来缩放图像 然后,针对不同的手机以不同的比例渲染图像 @1x:原装iPhone @2x:iPhone4、5、6 @3x:iPhone6Plus 可以通过以下方式获得比例值:
CGFloat scale = [UIScreen mainScreen] scale];
从技术上讲,你的图像显示的是rght值。如果img@2x的大小是750x410,那么img应该是375x205,这是正确的。所以我可能得到的图像大小是错误的。我希望我的图像是整个iphone的宽度。在iPhone5中,我有320dp,刻度是1,对吗?所以它的宽度应该是320px。在iphone6中,我有375dp,刻度是2,所以宽度是750px。我想错了吗?