原始图片文件PX as (24*50)
;
文件名为
" icon_detail_black.png"
在我的项目中;
使用此代码:
image_ = [UIImage imageNamed:@"icon_detail_black"];
然后是diff设备的结果:
iphone 4s image_.size = (24*50)
iphone 5s image_.size = (12*25)
iphone 6 image_.size = (12*25)
iphone 6+ image_.size = (8*16.666666667)
为什么呢?
我们可以获得真正的原始尺寸吗?
我希望得到图像尺寸(24 * 50)(原始图像尺寸)。有没有解决方案?感谢
注意:
" icon_detail_black.png"文件原样" @ 3x"文件, 我只需设置名称" icon_detail_black.png", 我不想添加其他文件: " icon_detail_black.png"和 " icon_detail_black@2x.png"
我想只使用一个文件(@ 3x)而不是三个文件,然后使用比例图像在iphone4s / 5s / 6 +所有差异设备中显示。所以我需要获得原始图像大小。
解决方案20150528 :
UIImage *image_s = [UIImage imageNamed:@"DefaultImage_JNYJScrollImage"];
CGSize size_ = image_s.size;
CGFloat float_ = image_s.scale;
size_.width = size_.width*float_;
size_.height = size_.height*float_;
谢谢大家。
答案 0 :(得分:0)
文件名" icon_detail_black.png"导致IDE将此维度呈现为1x。 当你移动到5s时,比例分辨率为2x,然后是6,相同,而6+则比例缩放3x。 您应该有一个4s的图像,一个用于5s-6结束于@ 2x,一个用于6+结束于@ 3x,每个图像都具有适当的设备分辨率。
特别是对于您的情况,您应该:
添加到您的项目中(考虑到24x50)是1x
的分辨率答案 1 :(得分:0)
如图所示,为1x,2x和3x命名图标:
然后找出运行时需要的图像:
NSNumber *screenWidth = @([UIScreen mainScreen].bounds.size.width);
NSString *imageName = [NSString stringWithFormat:@"name-%@w", screenWidth];
UIImage *image = [UIImage imageNamed:imageName];
答案 2 :(得分:0)
4详细信息:请参阅问题详情:
UIImage *image_s = [UIImage imageNamed:@"DefaultImage_JNYJScrollImage"];
CGSize size_ = image_s.size;
CGFloat float_ = image_s.scale;
size_.width = size_.width*float_;
size_.height = size_.height*float_;