NSData 读取 png 图片需要注意的地方~
来源:互联网 发布:淘宝免费开店考试 编辑:程序博客网 时间:2024/05/21 02:49
环境:
MAC OS X 10.7.2 Lion, XCode4.2,iOS SDK 5.0~
结论:
若要用NSData 获取 png 资源图片的数据,
须得用到 [NSBundle mainBundle] pathForResource 方法~
如果直接用 NSData 的 dataWithContentsOfFile 方法,
所返回的 NSData 对象是没有用的!!
这样的 NSData 对象里面既不包含字节数组数据,也不包含字节数组的长度数据!!
直接上代码和控制台输出:
// 1.不带后缀,可以取得图片数据~
UIImage *img1 = [UIImage imageNamed:pngName];
NSLog(@"%@:%f, %f", pngName, img1.size.width, img1.size.height);
// 2.戴上后缀,也可以缺的图片数据~
NSString *nameWithSuffix = [NSString stringWithFormat:@"%@.png", pngName];
UIImage *img2 = [UIImage imageNamed:nameWithSuffix];
NSLog(@"%@:%f, %f", nameWithSuffix, img2.size.width, img2.size.height);
// 1.这种方式取得的 NSData对象的 length属性为 0,无效(不管图片带没带.png后缀)!
NSURL *url = [NSURL URLWithString:pngName];
NSLog(@"%@", [urlabsoluteString]);
NSData *imageData1 =[[NSData alloc] initWithContentsOfURL:url];
NSLog(@"%u", [imageData1 length]);
// 2.这种方式取得的 NSData对象的 length属性也为 0,无效(不管图片带没带.png后缀)!
NSData *imageData2 = [NSData dataWithContentsOfFile:pngName];
NSLog(@"%u", [imageData2 length]);
// 3.唯有这种方式取得的 NSData对象的 length属性不再为 0,有效!!
NSString *filePath = [[NSBundle mainBundle] pathForResource:pngName ofType:@"png"];
NSData *imageData3 = [[NSData alloc] initWithContentsOfFile:filePath];
NSLog(@"%u", [imageData3 length]);
控制台输出为:
2012-01-11 19:16:31.938 EncryptTool[4920:f803] chrome:113.000000, 118.000000
2012-01-11 19:16:31.939 EncryptTool[4920:f803] chrome.png:113.000000, 118.000000
2012-01-11 19:16:31.941 EncryptTool[4920:f803] chrome
2012-01-11 19:16:32.004 EncryptTool[4920:f803] 0
2012-01-11 19:16:32.011 EncryptTool[4920:f803] 0
2012-01-11 19:16:32.011 EncryptTool[4920:f803] 14328
- NSData 读取 png 图片需要注意的地方~
- RegEnumValue读取键值需要注意的地方
- png图片转为bitmap图片要注意的地方
- 需要注意的地方
- 需要注意的地方
- 需要注意的地方
- cxImage处理tif图片时需要注意的地方
- cxImage处理tif图片时需要注意的地方
- KindEditor上传图片几点需要注意的地方
- png图片的读取
- java需要注意的地方
- 考試時需要注意的地方
- Hibernate 需要注意的地方
- 有些需要注意的地方
- strtok_r需要注意的地方
- CString需要注意的地方
- MergeSort需要注意的地方
- MergeSort需要注意的地方
- APUE References
- 2011年使用率增长最快的十大Web技术
- va_list 详解
- Adapter适配器模式
- va_list、va_start、va_arg、va_end的原理与使用
- NSData 读取 png 图片需要注意的地方~
- 谷歌高级运营副总裁:网站速度为王
- 数组中,一个数出现一次,其余的数都出现2次,找出那个出现一次的数
- 在linux2.6.37上添加MCP251x驱动
- Using jQuery with Client-Side Data Binding
- Download stevens.advprog.tar.Z
- C程序中函数指针
- 饭客网络(基础教程)
- C# XML 的序列化和反序列化