//开启/获取/关闭上下文的用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-画板相关推荐

  1. iOS开发脚踏实地学习day01-02-加法计算器和图片移动缩放旋转

    1.NSString类型和int类型互换: int inta; NSString *stra; 1)将NSString类型转为int 类型 inta = stra.intValue;//字符串本身就是 ...

  2. iOS开发脚踏实地学习day02-图片查看器和TOM猫

    1.在.m文件中使用self.XX和_XX有什么区别? 在用懒加载,使用getter,让对象在最需要的时候创建时,用_XX实现不了,一定要用self.XX才可以. 前者调用该类的setter或gett ...

  3. iOS开发脚踏实地学习day14-绘图

    1.画线步骤 - (void)drawRect:(CGRect)rect { // Drawing code //1.获取上下文 CGContextRef context = UIGraphicsGe ...

  4. 0811 iOS开发完整学习路线

    1.iOS开发需要学习哪些内容? 2.开发步骤 3.框架 为了方便开发者开发出强大的功能,苹果提供了各种各样的框架 [1]UIKit:创建和管理应用程序的用户界面 [2]QuartzCore:提供动画 ...

  5. iOS开发的学习笔记

    引言 之前做过半年的iOS开发,从完全不懂的移动开发的菜鸟,到完成前端UI开发的菜鸟,做的一些笔记,希望对大家有用,也希望这些总结的东西对以后会有作用. 开发环境 iOS的系统框架分为四个层次: 核心 ...

  6. iOS开发规范学习总结与框架搭建

    iOS 开发规范 以MVC开发模式为主,根据模块化+MVC思想 一.模块化思想创建目录路径(创建真实路径,再拖到项目中不要直接创建Group) M -- 模型,模型对象封装了应用程序的数据,并定义操控 ...

  7. 开始学习 IOS 开发,学习环境搭建

    1,IOS环境安装 直接从 AppStore上面下载,网络环境一定要好 2.45G 2,学习视频 在网上搜索到的.youku的视频. http://v.youku.com/v_show/id_XMzI ...

  8. ios开发网络学习:一:NSURLConnection发送GET,POST请求

    #import "ViewController.h"@interface ViewController ()<NSURLConnectionDataDelegate> ...

  9. ios开发网络学习九:NSURLSessionDownloadTask实现大文件下载

    一:NSURLSessionDownloadTask:实现文件下载:无法监听进度 #import "ViewController.h"@interface ViewControll ...

最新文章

  1. 【selenium2】【unittest】
  2. 论文笔记之:RATM: RECURRENT ATTENTIVE TRACKING MODEL
  3. NOIp 数据结构专题总结 (1):STL、堆、并查集、ST表、Hash表
  4. Python笔记-利用OpenCV的matchTemplate屏幕找图并使用pyautogui点击
  5. 《音频、图像及视频技术》学习笔记
  6. Fragment试手
  7. bzoj1385 [Baltic2000]Division expression
  8. 很恶心的一个关于字符串的题目!
  9. 宗成庆统计自然语言处理第二版第13章读书笔记-文本分类与情感分类
  10. JS中文乱码解决方案
  11. Hive 建表语句大全
  12. SIM900A—发送、接收中英文短信
  13. JS搜索省份匹配出省份的所有城市
  14. 如何写工作说明书(sow)
  15. DNS协议解析与DNS模拟服务器-基于golang实现
  16. App进行内测麻烦吗?如何进行App内测?
  17. C++面向对象程序设计(侯捷)笔记
  18. 单片机系统不稳定情况
  19. PHP高级计算器的过程,PHP基于堆栈实现的高级计算器功能示例
  20. $Self~Problem~C~:~Samsara$

热门文章

  1. 技术分享 | 年终总结
  2. 记一次收到QQ邮箱钓鱼邮件经历
  3. i3s/s3m/3D Tile
  4. 多版本谷歌chrome浏览器并存(谷歌浏览器从C盘移植)
  5. Android Studio 连接第三方模拟器
  6. 机床测头应用一:仿形加工功能,降低废品率
  7. 用JavaFX几个简单动画——旋转风车、运动的圆
  8. Flink之DataSet迭代计算
  9. matlab迭代实现矩阵运算,用matlab实现Rayleigh迭代计算矩阵特征值的程序
  10. Sql STUFF 用法