iOS开发脚踏实地学习day15-画板
//开启/获取/关闭上下文的用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开发脚踏实地学习day01-02-加法计算器和图片移动缩放旋转
1.NSString类型和int类型互换: int inta; NSString *stra; 1)将NSString类型转为int 类型 inta = stra.intValue;//字符串本身就是 ...
- iOS开发脚踏实地学习day02-图片查看器和TOM猫
1.在.m文件中使用self.XX和_XX有什么区别? 在用懒加载,使用getter,让对象在最需要的时候创建时,用_XX实现不了,一定要用self.XX才可以. 前者调用该类的setter或gett ...
- iOS开发脚踏实地学习day14-绘图
1.画线步骤 - (void)drawRect:(CGRect)rect { // Drawing code //1.获取上下文 CGContextRef context = UIGraphicsGe ...
- 0811 iOS开发完整学习路线
1.iOS开发需要学习哪些内容? 2.开发步骤 3.框架 为了方便开发者开发出强大的功能,苹果提供了各种各样的框架 [1]UIKit:创建和管理应用程序的用户界面 [2]QuartzCore:提供动画 ...
- iOS开发的学习笔记
引言 之前做过半年的iOS开发,从完全不懂的移动开发的菜鸟,到完成前端UI开发的菜鸟,做的一些笔记,希望对大家有用,也希望这些总结的东西对以后会有作用. 开发环境 iOS的系统框架分为四个层次: 核心 ...
- iOS开发规范学习总结与框架搭建
iOS 开发规范 以MVC开发模式为主,根据模块化+MVC思想 一.模块化思想创建目录路径(创建真实路径,再拖到项目中不要直接创建Group) M -- 模型,模型对象封装了应用程序的数据,并定义操控 ...
- 开始学习 IOS 开发,学习环境搭建
1,IOS环境安装 直接从 AppStore上面下载,网络环境一定要好 2.45G 2,学习视频 在网上搜索到的.youku的视频. http://v.youku.com/v_show/id_XMzI ...
- ios开发网络学习:一:NSURLConnection发送GET,POST请求
#import "ViewController.h"@interface ViewController ()<NSURLConnectionDataDelegate> ...
- ios开发网络学习九:NSURLSessionDownloadTask实现大文件下载
一:NSURLSessionDownloadTask:实现文件下载:无法监听进度 #import "ViewController.h"@interface ViewControll ...
最新文章
- 【selenium2】【unittest】
- 论文笔记之:RATM: RECURRENT ATTENTIVE TRACKING MODEL
- NOIp 数据结构专题总结 (1):STL、堆、并查集、ST表、Hash表
- Python笔记-利用OpenCV的matchTemplate屏幕找图并使用pyautogui点击
- 《音频、图像及视频技术》学习笔记
- Fragment试手
- bzoj1385 [Baltic2000]Division expression
- 很恶心的一个关于字符串的题目!
- 宗成庆统计自然语言处理第二版第13章读书笔记-文本分类与情感分类
- JS中文乱码解决方案
- Hive 建表语句大全
- SIM900A—发送、接收中英文短信
- JS搜索省份匹配出省份的所有城市
- 如何写工作说明书(sow)
- DNS协议解析与DNS模拟服务器-基于golang实现
- App进行内测麻烦吗?如何进行App内测?
- C++面向对象程序设计(侯捷)笔记
- 单片机系统不稳定情况
- PHP高级计算器的过程,PHP基于堆栈实现的高级计算器功能示例
- $Self~Problem~C~:~Samsara$