最后效果图:
关键代码例如以下:
// // BeyondViewController.h // 24_showGirl // // Created by beyond on 14-8-26. // Copyright (c) 2014年 com.beyond. All rights reserved. // #import <UIKit/UIKit.h> @interface BeyondViewController : UIViewController @property (nonatomic,weak) IBOutlet UIImageView *clothes; @end
//
// BeyondViewController.m
// 24_showGirl
//
// Created by beyond on 14-8-26.
// Copyright (c) 2014年 com.beyond. All rights reserved.
//
#import "BeyondViewController.h"
@interface BeyondViewController ()
{
BOOL canEarse;
}
@end
@implementation BeyondViewController
// 触摸開始
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
// 假设触摸点落在ClothesImgView上面
if([touch view]==_clothes)
{
canEarse = YES;
}
}
// 触摸进行中
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
if(canEarse)
{
// 获得触摸点的坐标
CGPoint currentPoint = [touch locationInView:_clothes];
// 开启上下文
UIGraphicsBeginImageContext(self.clothes.frame.size);
// 将原图画到上下文中,以便进行像素处理
[_clothes.image drawInRect:_clothes.bounds];
// 清除触摸点附近区域的一些像素
CGContextClearRect (UIGraphicsGetCurrentContext(), CGRectMake(currentPoint.x, currentPoint.y, 30, 30));
// 又一次画上去
_clothes.image = UIGraphicsGetImageFromCurrentImageContext();
// 关闭上下文
UIGraphicsEndImageContext();
}
}
// 触摸结束
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
canEarse = NO;
}
@end
版权声明:本文博客原创文章。博客,未经同意,不得转载。