iOS开发脚踏实地学习day15-画板
来源:互联网 发布:c语言按钮 编辑:程序博客网 时间:2024/05/22 00:16
//开启/获取/关闭上下文的用UIGraphics...
//配置上下文的用CGcontext...
1.图像添加logo
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIImage *oldImage = [UIImageimageNamed:@"img.png"];
//1.开启上下文
//opaque不透明,YES-不透明,NO-透明
UIGraphicsBeginImageContextWithOptions(oldImage.size,NO,0.0);
[oldImage drawAtPoint:CGPointZero];
NSString *text =@"我要升官发财";
NSDictionary *dict =@{
NSFontAttributeName:[UIFontsystemFontOfSize:15],//字体大小
NSForegroundColorAttributeName:[UIColorredColor]//字体颜色
};
[text drawAtPoint:CGPointMake(110,160)withAttributes:dict];
//2.从当前图像上下文获取新图像(加了logo的)
UIImage *newImage =UIGraphicsGetImageFromCurrentImageContext();
//3.关闭上下文
UIGraphicsEndImageContext();
//显示
_imageView.image = newImage;
//保存新图像到桌面 ·
//1.将图片转换为png格式的二进制数据
NSData *data =UIImagePNGRepresentation(newImage);
//2.写入桌面
[data writeToFile:@"/Users/cuihao/Desktop/newImage.png"atomically:YES];
}
2.
awakeFromNib比drawRect要早,是加载storyboard或xib后执行
drawRect //当视图显示的时候,就会调用,默认是调用一次
[selfsetNeedsDisplay];//重绘,调用drawRect
3.
//保存图片
- (void)saveDraw{
//开启上下文
UIGraphicsBeginImageContextWithOptions(self.bounds.size,NO,0.0);
//获取当前上下文
CGContextRef ctx =UIGraphicsGetCurrentContext();
//把画板上的内容渲染到上下文
[self.layerrenderInContext:ctx];
//获取当前上下文的图片
UIImage *captureImage =UIGraphicsGetImageFromCurrentImageContext();
//关闭上下文
UIGraphicsEndImageContext();
// //保存图片
// NSData *data = UIImagePNGRepresentation(captureImage);
// [data writeToFile:@"/Users/cuihao/Desktop/image.png" atomically:YES];
// 保存到用户的相册里面
UIImageWriteToSavedPhotosAlbum(captureImage,self,@selector(image:didFinishSavingWithError:contextInfo:),nil);//不是保存在mac的相册而是iPhone的相册里
}
// 保存相册后回调
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
{
if (error) {//保存失败
[MBProgressHUDshowError:@"保存失败"];
}else{//保存成功
[MBProgressHUDshowSuccess:@"保存成功"];
}
}
4.当类不满足使用的时候,可以用继承的办法,扩展更多的属性和方法
- iOS开发脚踏实地学习day15-画板
- iOS开发脚踏实地学习day03-九宫图
- iOS开发脚踏实地学习day06--tableView,汽车品牌
- iOS开发脚踏实地学习day07-美团
- iOS开发脚踏实地学习day10-PickerView
- iOS开发脚踏实地学习day11-导航控制器
- iOS开发脚踏实地学习day14-绘图
- iOS开发脚踏实地学习day17-彩票
- iOS开发脚踏实地学习day04-超级猜图
- iOS开发脚踏实地学习day05-大图滚动和定时器
- iOS开发脚踏实地学习day08-QQ聊天界面
- iOS开发脚踏实地学习day09-QQ好友列表
- iOS开发脚踏实地学习day12-通讯录和plist存储
- iOS开发脚踏实地学习day13-触摸事件和抽屉效果
- iOS开发脚踏实地学习day01-02-加法计算器和图片移动缩放旋转
- iOS开发脚踏实地学习day02-图片查看器和TOM猫
- IOS开发:手势画板涂鸦
- iOS学习笔记-063.画板
- CLRS第十二章思考题
- LINUX基础命令
- 第四周项目二-建设单链表算法库
- web.xml(简介介绍)
- 第3周项目1 顺序表的基本运算(1)
- iOS开发脚踏实地学习day15-画板
- OpenCV3.0基本类型初探(二)
- Android中dp与px之间转换
- JavaScript权威指南_161_第17章_事件处理_17.1-事件类型-HTML5事件
- 单例模式及C++实现代码
- 黑马程序员--IO流(1)
- liunx下rsync命令详细整理
- 第4周、项目2—建设“单链表”算法库
- Android实战简易教程<一>(Spinner控件详解)