您的位置:首页 > 移动开发 > IOS开发

iOS开发之自定义画板

2015-12-14 17:58 435 查看
  今天整好有时间, 写了一个自定义的画板! [我的github]

GLPaint主要采用QuartzCore框架, 对画布上的元素进行渲染, 然后通过UIImageWriteToSavedPhotosAlbum保存到相册.

代码耦合性比较低, 集成比较简单, 初学者可以了解一下.

1. 在ViewController中只需要实现这几个方法基本就没问题了;

#pragma mark - 创建colorPiker
- (void)setupColorPiker
{
_piker = [ColorPicker colorPickerWithFrame:CGRectMake(0, 64, PP_SCREEN_WIDTH, 130)];
_piker.delegate = self;
[self.view addSubview:_piker];

}

#pragma mark - 创建PaintView
- (void)setupPaintView
{
_paintView = [PaintView paintView];
_paintView.backgroundColor = [UIColor colorWithWhite:0.9 alpha:.95];

// 设置线宽
_paintView.lineWidth = 8.0f;
[self.view addSubview:_paintView];

// 约束
[_paintView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.view).insets(UIEdgeInsetsMake(CGRectGetMaxY(_piker.frame) , 5, 0, 5));
}];

}

#pragma mark - ColorPickerDelegate
- (void)aColorPickerDidSelected:(UIColor *)color
{
[_paintView setPaintColor:color];

}


2. 保存到相册

#pragma mark - 保存图片到相册
// 监听点击
- (void)saveImage
{
// 获取照片
UIImage *paintImage = [_paintView paintImage];
LogRed(@"%@", paintImage);

UIImageWriteToSavedPhotosAlbum(paintImage, self, @selector(imageSavedToPhotosAlbum:didFinishSavingWithError:contextInfo:), nil);
}

- (void)imageSavedToPhotosAlbum:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
{
NSString *message = @"";
if (!error) {
message = @"成功保存到相册";
}else
{
message = [error description];
}
LogRed(@"message is %@",message);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: