IOS开发基础之UIImage
2015-08-04 01:28
453 查看
初始化并创建新图片 常用方法:
1. [UIImage imageNamed:@“文件名”]
特点:
1) 查找应用的资源目录下资源文件(已导入工程里的图片),无需关心应用的存放位置。
2) 带有缓存功能,多次定义调用返回的都是相同对象(地址)。
适用场合:
1) 图片使用频率高时。
2. [[UIImage alloc] initWithContentsOfFile:@“全路径”]
特点:
1) 必须使用图片的全路径(绝对地址),一般需要通过 NSBundle 类来获取绝对地址。
2) 无缓存功能,每次定义调用返回的都是新对象,图片被重新读取加载。意味着省内存。
适用场合:
1) 图片是一次性使用,之后几乎不被再重新调用了。
图片显示方式 contentMode属性:
为枚举常量。用来设定图片是否居中、居右、缩放等,枚举值如下:
UIViewContentModeScaleToFill
UIViewContentModeScaleAspectFit
UIViewContentModeScaleAspectFill
UIViewContentModeRedraw
UIViewContentModeCenter
UIViewContentModeTop
UIViewContentModeBottom
UIViewContentModeLeft
UIViewContentModeRight
UIViewContentModeTopLeft
UIViewContentModeTopRight
UIViewContentModeBottomLeft
UIViewContentModeBottomRight
注意:凡是没有带Scale的,当图片尺寸超过ImageView尺寸时,只有部分显示在ImageView中。
UIViewContentModeScaleToFill 属性会导致图片变形。
UIViewContentModeScaleAspectFit 会保证图片比例不变,而且全部显示在ImageView中,这意味着ImageView会有部分空白。
UIViewContentModeScaleAspectFill 也会证图片比例不变,但是是填充整个ImageView的,可能只有部分图片显示出来。
图片保存到文件
主要步骤:
将 UIImage 转换为 NSData ;
调用 NSData 的写文件方法 (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile 。
UIImage 转成的 NSData 有两种格式,分别是 png 和 jpeg。
png文件代码:
NSData *pngData = UIImagePNGRepresentation(image);
[pngData writeToFile:@"/Users/rocco/Desktop/new.png" atomically:YES];
jpeg文件代码:
// compressionQuality 压缩质量 值的范围(0-1.0)
CGFloat compressionQuality = 0.7;
NSData *jpgData = UIImageJPEGRepresentation(image, compressionQuality);
[jpgData writeToFile:@"/Users/rocco/Desktop/new.jpeg"
atomically:YES];
【2015.12.13】
至于其它方法,待用到后再总结。。...
1. [UIImage imageNamed:@“文件名”]
特点:
1) 查找应用的资源目录下资源文件(已导入工程里的图片),无需关心应用的存放位置。
2) 带有缓存功能,多次定义调用返回的都是相同对象(地址)。
适用场合:
1) 图片使用频率高时。
2. [[UIImage alloc] initWithContentsOfFile:@“全路径”]
特点:
1) 必须使用图片的全路径(绝对地址),一般需要通过 NSBundle 类来获取绝对地址。
2) 无缓存功能,每次定义调用返回的都是新对象,图片被重新读取加载。意味着省内存。
适用场合:
1) 图片是一次性使用,之后几乎不被再重新调用了。
图片显示方式 contentMode属性:
为枚举常量。用来设定图片是否居中、居右、缩放等,枚举值如下:
UIViewContentModeScaleToFill
UIViewContentModeScaleAspectFit
UIViewContentModeScaleAspectFill
UIViewContentModeRedraw
UIViewContentModeCenter
UIViewContentModeTop
UIViewContentModeBottom
UIViewContentModeLeft
UIViewContentModeRight
UIViewContentModeTopLeft
UIViewContentModeTopRight
UIViewContentModeBottomLeft
UIViewContentModeBottomRight
注意:凡是没有带Scale的,当图片尺寸超过ImageView尺寸时,只有部分显示在ImageView中。
UIViewContentModeScaleToFill 属性会导致图片变形。
UIViewContentModeScaleAspectFit 会保证图片比例不变,而且全部显示在ImageView中,这意味着ImageView会有部分空白。
UIViewContentModeScaleAspectFill 也会证图片比例不变,但是是填充整个ImageView的,可能只有部分图片显示出来。
图片保存到文件
主要步骤:
将 UIImage 转换为 NSData ;
调用 NSData 的写文件方法 (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile 。
UIImage 转成的 NSData 有两种格式,分别是 png 和 jpeg。
png文件代码:
NSData *pngData = UIImagePNGRepresentation(image);
[pngData writeToFile:@"/Users/rocco/Desktop/new.png" atomically:YES];
jpeg文件代码:
// compressionQuality 压缩质量 值的范围(0-1.0)
CGFloat compressionQuality = 0.7;
NSData *jpgData = UIImageJPEGRepresentation(image, compressionQuality);
[jpgData writeToFile:@"/Users/rocco/Desktop/new.jpeg"
atomically:YES];
【2015.12.13】
至于其它方法,待用到后再总结。。...
相关文章推荐
- UE4信息交互-蓝图类与关卡对象的信息交互
- UISlider
- UISegmentControl
- SPOJ QTREE4 Query on a tree IV (边分治 + 堆)
- POJ_1986_Distance Queries(LCA+tarjan)
- iOS开发——UI进阶篇(十四)modal
- SPOJ PTO7J Query on a tree III(dfs序+主席树)
- SPOJ QTREE2 Query on a tree II (倍增LCA)
- 想要App做得美,这些UI/UX设计趋势你要知道啊
- SPOJ QTREE Query on a tree (树链剖分)
- UIScrollView上面添加的uiftextfield如何失去第一响应者
- UITableView Cell
- UE4信息交互-蓝图类中的信息交互
- UI 03 关于UITextField键盘遮挡问题
- FZU 1752 Quickmod Quickmulti
- Android UI: LinearLayout中layout_weight 属性的使用规则
- Xcode6以后segue取消原push与modal(deprecated)
- UI 03 UIButton 和 UITextField
- UITextField总结
- Unknown Class XX in Interface Builder File