A imagem gira automaticamente após o uso do CIFilter
Estou escrevendo um aplicativo que permite aos usuários tirar uma foto e editá-la. Estou trabalhando na implementação de ferramentas com UISliders para brilho / contraste / saturação e estou usando a classe Core Image Filter para fazer isso. Quando abro o aplicativo, posso tirar uma foto e exibi-la corretamente. No entanto, se optar por editar uma imagem e depois usar qualquer uma das ferramentas deslizantes descritas, a imagem girará 90 graus no sentido anti-horário. Aqui está o código em questão:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.navigationItem.hidesBackButton = YES; //hide default nav
//get image to display
DBConnector *dbconnector = [[DBConnector alloc] init];
album.moments = [dbconnector getMomentsForAlbum:album.title];
Moment *mmt = [album.moments firstObject];
_imageView.image = [mmt.moment firstObject];
CGImageRef aCGImage = _imageView.image.CGImage;
CIImage *aCIImage = [CIImage imageWithCGImage:aCGImage];
_editor = [CIFilter filterWithName:@"CIColorControls" keysAndValues:@"inputImage", aCIImage, nil];
_context = [CIContext contextWithOptions: nil];
[self startEditControllerFromViewController:self];
}
//cancel and finish buttons
- (BOOL) startEditControllerFromViewController: (UIViewController*) controller {
[_cancelEdit addTarget:self action:@selector(cancelEdit:) forControlEvents:UIControlEventTouchUpInside];
[_finishEdit addTarget:self action:@selector(finishEdit:) forControlEvents:UIControlEventTouchUpInside];
return YES;
}
//adjust brightness
- (IBAction)brightnessSlider:(UISlider *)sender {
[_editor setValue:[NSNumber numberWithFloat:_brightnessSlider.value] forKey: @"inputBrightness"];
CGImageRef cgiimg = [_context createCGImage:_editor.outputImage fromRect:_editor.outputImage.extent];
_imageView.image = [UIImage imageWithCGImage: cgiimg];
CGImageRelease(cgiimg);
}
Eu acredito que o problema deriva dabrightnessSlider
método, com base nos pontos de interrupção que eu coloquei. Existe uma maneira de parar a rotação automática da minha foto? Caso contrário, como posso girá-lo de volta à orientação normal?