将效果应用于图像

时间:2013-06-18 05:25:31

标签: objective-c uiimage ciimage

我的应用中有一个imageview,我已从手机照片库中加载了图像。现在我想对这个图像应用效果,但我写的代码给了我错误。我的代码如下。任何帮助将不胜感激。

CIImage *beginImage =
[CIImage imageWithContentsOfURL:self.imageView.image];

// 1
CIContext *context = [CIContext contextWithOptions:nil];

CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone"
                              keysAndValues: kCIInputImageKey, beginImage,
                    @"inputIntensity", @0.8, nil];
CIImage *outputImage = [filter outputImage];

// 2
CGImageRef cgimg =
[context createCGImage:outputImage fromRect:[outputImage extent]];

// 3
UIImage *newImage = [UIImage imageWithCGImage:cgimg];
self.imageView.image = newImage;

// 4
CGImageRelease(cgimg);

2 个答案:

答案 0 :(得分:0)

使用此代码

    CIImage *ciImage = self.imageView.image.CIImage;

而不是

   CIImage *beginImage =
           [CIImage imageWithContentsOfURL:self.imageView.image];

答案 1 :(得分:0)

尝试像这样初始化你的UIImage对象

CIImage *ciImage = self.imageView.image.CIImage;