使用CoreGraphices框架实现的图片擦除效果。如下:
//
// EraseImageView.h
// Eraser
//
// Created by scott.8an@gmail.com on 11-11-7.
// Copyright 2011 LittleWorn. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface EraseImageView : UIImageView {
@private
UIImageView *foregroundImageView;
BOOL canErase;
UIImage *backgroundImage;
UIImage *foregroundImage;
}
//init
-(id)initWithFrame:(CGRect)frame
backgroundImage:(UIImage*)bgImage
foregroundImage:(UIImage*)fgImage;
@end
//
// EraseImageView.m
// Eraser
//
// Created by scott.8an@gmail.com on 11-11-7.
// Copyright 2011 LittleWorn. All rights reserved.
//
#import "EraseImageView.h"
@implementation EraseImageView
#pragma mark life cycle
- (void)dealloc {
[super dealloc];
}
- (id)initWithFrame:(CGRect)frame backgroundImage:(UIImage*)bgImage foregroundImage:(UIImage*)fgImage{
self = [super initWithFrame:frame];
if (self) {
// Initialization code.
self.userInteractionEnabled = YES;
self.image = bgImage;
foregroundImageView = [[UIImageView alloc] initWithFrame:frame];
foregroundImageView.userInteractionEnabled = YES;
[foregroundImageView setImage:fgImage];
[self addSubview:foregroundImageView];
[foregroundImageView release];
}
return self;
}
#pragma mark override
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
if ([touch view] == foregroundImageView){
canErase = YES;
}
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
if (canErase) {
CGPoint currentPoint = [touch locationInView:foregroundImageView];
UIGraphicsBeginImageContext(foregroundImageView.frame.size);
[foregroundImageView.image drawInRect:foregroundImageView.bounds];
CGContextClearRect (UIGraphicsGetCurrentContext(), CGRectMake(currentPoint.x, currentPoint.y, 30, 30));
foregroundImageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
canErase = NO;
}
@end
分享到:
相关推荐
是一个以前大学里经常玩的斯衣服!哈哈,滑动把美女的外衣撕掉!
合集介绍:包括有USB记录擦除 上网记录擦除 文件擦除等三类擦除工具。可选择多种算法进行擦除文件,是你防护泄漏文件信息的重要法宝。 其中Eraser软件可用于彻底删除指定的文件、擦除回收站内容、清除文件夹入口,...
jquery橡皮擦工具图像擦除效果代码是一款基于jquery.eraser.js插件实现的2D画布ps橡皮擦工具图像擦除效果代码。
在图像上滑动手指,即可将图像清除掉。这个例子很强大的。
电信设备-基于移动终端的图片擦除实现方法及装置.zip
WPF Canvas 效果 擦除效果
行业文档-设计装置-擦除矢量笔迹的方法
android擦除效果代码(橡皮擦功能)
ST-LINK Utility芯片被锁了解锁STM芯片擦除工具包
行业分类-设备装置-擦除具有错误校正码的非易失性存储器系统.zip
电子政务-擦除型电缆立柱.zip
用gan实现的印章擦除,同时你也可以用这个方法擦除去其他噪声,比如水印,手写字等用gan实现的印章擦除,同时你也可以用这个方法擦除去其他噪声,比如水印,手写字等用gan实现的印章擦除,同时你也可以用这个方法...
行业文档-设计装置-笔迹擦除器.zip
Swift 实现遮罩擦除效果,搞个红包抽奖刮刮卡什么效果的可能用得到。.zip,iOS的草稿卡视图
Fog View Android Library Min SDK 8 (Android 2.2–2.2.3 Froyo) Screnshots How to use If you want use this library, you can download project and import it into your workspace and add the project as...
行业分类-设备装置-自动擦除式教学白板.zip
行业资料-电子功用-数据擦除电路
Android高仿qq发送图片中编辑图片功能,支持图片涂鸦、擦除、改变画笔颜色和粗细;多点触控放大缩小、移动;代码注释清除,扩展性强.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考...
行业分类-设备装置-具有擦除器组件的书写组件.zip