您好,匿名用户
随意问技术百科期待您的加入

imageWithContentsOfFile 返回的image模糊

0 投票

我本来把图片资源放在APP里面,然后用
UIImage * image = [UIImage imageNamed:imgName]];
来取得image。
这两天,我把原本在app里面的资源图片,在程序启动是copy到document目录里面。
这样就没有办法用imageNamed方法来取图片了。我就用
NSString* documentsDirectoryPath =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];
UIImage* result =[UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.%@", documentsDirectoryPath, fileName, extension]];
方法来取image。
但这样返回的image非常模糊,我用128*128像素的,显示在64*64的imageView中。
原来imageNamed方法没有问题。我用
NSData * imgData = UIImagePNGRepresentation(image);
NSLog(@"size : %d",[imgData length]);
方法来看取回的image大小,imageNamed的大小是imageWithContentsOfFile的3倍,请问什么原因?

用户头像 提问 2014年 6月7日 @ Ryze 上等兵 (293 威望)
分享到:

1个回答

0 投票

imageNamed:这个方法的文档上面写着,使用这个方法的时候,如果设备的屏幕分辨率的倍率是2倍的话(目前包括iPhone 4、4S、5和iPad 3、4),那么这个方法会自动加载名字带有@2x的图片文件。例如,在iPhone 4上运行:

[UIImage imageNamed:@"button.png"];

那么,实际加载的是button@2x.png这个文件,而不是button.png。而imageWithContentsOfFile:则没有这个机制,你指定的是什么文件名,它加载的就是哪个文件。

用户头像 回复 2014年 6月7日 @ 阿尔托莉雅 下士 (587 威望)
提一个问题:

相关问题

0 投票
1 回复 37 阅读
0 投票
1 回复 60 阅读
用户头像 提问 2012年 12月1日 @ Apollo 上等兵 (269 威望)
0 投票
1 回复 39 阅读
0 投票
1 回复 42 阅读
0 投票
0 回复 39 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...