Skip to content

Commit

Permalink
processImage should be moved to last step
Browse files Browse the repository at this point in the history
  • Loading branch information
Matt Jarjoura committed Jul 22, 2012
1 parent 9f85fcb commit fa6c310
Showing 1 changed file with 5 additions and 46 deletions.
51 changes: 5 additions & 46 deletions FilterKit/FilterKit/FKGPUFilterGroup.m
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@
#import "GPUImagePicture.h" #import "GPUImagePicture.h"
#import "GPUImageView.h" #import "GPUImageView.h"
#import "GPUImageRawDataOutput.h" #import "GPUImageRawDataOutput.h"
#import "GPUImageUIElement.h"


@implementation FKGPUFilterGroup { @implementation FKGPUFilterGroup {
@private @private
NSMutableArray *_gpuFilters; NSMutableArray *_gpuFilters;
GPUImagePicture *_picture;
} }


- (id)init - (id)init
Expand All @@ -42,11 +42,10 @@ - (void)addGPUFilter:(GPUImageFilter *)filter


- (UIImage *)imageWithFilterAppliedWithImage:(UIImage *)image - (UIImage *)imageWithFilterAppliedWithImage:(UIImage *)image
{ {
_picture = [[GPUImagePicture alloc] initWithImage:image smoothlyScaleOutput:YES]; GPUImagePicture *picture = [[GPUImagePicture alloc] initWithImage:image smoothlyScaleOutput:YES];
[_picture processImage]; GPUImageOutput *lastFilter = picture;

GPUImageOutput *lastFilter = _picture;
GPUImageFilter *filter = nil; GPUImageFilter *filter = nil;

NSUInteger count = [_gpuFilters count]; NSUInteger count = [_gpuFilters count];
for (NSUInteger i = 0; i < count; i++) { for (NSUInteger i = 0; i < count; i++) {
filter = [_gpuFilters objectAtIndex:i]; filter = [_gpuFilters objectAtIndex:i];
Expand All @@ -55,48 +54,8 @@ - (UIImage *)imageWithFilterAppliedWithImage:(UIImage *)image
[lastFilter addTarget:filter]; [lastFilter addTarget:filter];
lastFilter = filter; lastFilter = filter;
} }
[picture processImage];
return lastFilter.imageFromCurrentlyProcessedOutput; return lastFilter.imageFromCurrentlyProcessedOutput;
} }



//- (UIImage *)imageWithFilterAppliedWithImage:(UIImage *)image
//{
// GPUImageView *view = [[GPUImageView alloc] initWithFrame:CGRectMake(0, 0, image.size.width, image.size.height)];
//
// // GPUImageRawDataOutput *raw = [[GPUImageRawDataOutput alloc] initWithImageSize:image.size resultsInBGRAFormat:YES];
//
// _picture = [[GPUImagePicture alloc] initWithImage:image smoothlyScaleOutput:YES];
// GPUImageOutput *lastFilter = view;
// GPUImageFilter *filter = nil;
// NSUInteger count = [_gpuFilters count];
// for (NSUInteger i = 0; i < count; i++) {
// filter = [_gpuFilters objectAtIndex:i];
//
// //[lastFilter removeAllTargets];
// [filter addTarget:lastFilter];
// //[lastFilter addTarget:filter];
// lastFilter = filter;
// }
//
// [_picture addTarget:lastFilter];
//
// if ([lastFilter respondsToSelector:@selector(processImage)]) {
// [(GPUImagePicture *)lastFilter processImage];
// }
//
// // [lastFilter addTarget:raw];
//
// // NSData *bytes = [NSData dataWithBytes:[raw rawBytesForImage] length:(image.size.width * image.size.height * 4 * sizeof(GLubyte))];
// //UIImage *imageFromBytes = [UIImage imageWithData:bytes];
// //return filter.imageFromCurrentlyProcessedOutput;
//
// UIImage *result;
// UIGraphicsBeginImageContextWithOptions(image.size, NO, [UIScreen mainScreen].scale);
// [view.layer renderInContext:UIGraphicsGetCurrentContext()];
// result = UIGraphicsGetImageFromCurrentImageContext();
// UIGraphicsEndImageContext();
//
// return result;
//}

@end @end

0 comments on commit fa6c310

Please sign in to comment.