Sal*_*uts 4 png jpeg uiimage ios
我在iOS应用中显示一些图像时遇到问题.我已将部分图形从PNG更改为JPG文件格式,当我删除项目中已有的PNG图像并添加新的JPG时,模拟器仍显示旧的PNG图形.我在项目上运行'clean'并重置模拟器的内容,现在它根本不想加载图像 - [UIImage imageNamed:@"filename"]返回null.
另一方面,如果我将这些图形保存为PNG,并将它们添加到项目而不是 JPEG,它会加载它们.但是图像是摄影的,PNG版本比JPEG大7-8倍,所以我真的想弄清楚它为什么不加载它们.
编辑:在审阅文档后(似乎第100次),我意识到错误是我没有指定扩展名.支持的图像格式(http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImage_Class/Reference/Reference.html)列出了许多支持的格式,UIImage参考说明:
在iOS 4及更高版本中,如果文件是PNG格式,则无需指定.PNG文件扩展名.
我误解了这意味着扩展通常是可选的,但如果文件不是PNG,则必须包含它.因此,如果该文件名为my_image.png,那么您可以将其作为@"my_image"或@"my_image.png"传递,但如果您有my_image.jpg,则它只能作为@"my_image.jpg"使用.
小智 7
方法imageNamed:在项目中只加载*.png resorce.尝试
NSString *filePath = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"imageName"] ofType:@"jpg"];
UIImage *theImage = [UIImage imageWithContentsOfFile:filePath];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12636 次 |
| 最近记录: |