有一个按钮应用效果xcode

时间:2013-03-24 18:10:13

标签: xcode uibutton

我想对我在应用中捕获的照片应用滤镜效果。我需要3个按钮来调用这些效果(即一个用于黑色和白色,一个用于棕褐色,一个用于Vintage)。所以这是我的问题。下面您将看到保存图像时的代码。你会在那里看到" img = [img e1]"。这会将图像保存为黑白图像。如果我做了" img = [img e2]"这将是棕褐色。如果我希望这种效果是永久性的,我的代码就可以正常工作。问题是如果有意义的话,我需要按钮在不同的电子号码之间切换。对不起,如果没有解释那么好。

- (void)captureEnded:(CameraView *)camView {
NSLog(@"%f, %f", [camView capturedImage].size.width, [camView capturedImage].size.height)

UIImage *img = [camView capturedImage];
img = [img e1];
   img = [UIImage imageWithCGImage:[ self rotateImage:img angle:90 ].CGImage
                          scale:1.0 orientation: UIImageOrientationUp];

UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil);

2 个答案:

答案 0 :(得分:0)

您可以声明

UIImage *img;

在标题.h文件和主类中写入三个按钮操作

-(IBAction) nbutton1{

img = [img e1];

}

-(IBAction) nbutton2{

img = [img e2];

}

-(IBAction) nbutton3{

img = [img e3];

}

答案 1 :(得分:0)

方法名称数组

NSArray *methodArray = [NSArray arrayWithObjects:@"e1", @"e2", @"e3", nil];

使用数组

中使用的名称声明方法
- (void)e1
{
    // Code for Black & White effect
}

- (void)e2
{
    // Code for Sepia effect
}

- (void)e3
{
    // Code for Vignet effect
}

现在使用代码

调用数组对象的方法
[self performSelector:NSSelectorFromString([methodArray objectAtIndex:0])]; // call to method e1
[self performSelector:NSSelectorFromString([methodArray objectAtIndex:1])]; // call to method e2
[self performSelector:NSSelectorFromString([methodArray objectAtIndex:2])]; // call to method e3