사용자가 사진을 찍어 편집 할 수있는 앱을 쓰고 있습니다. 밝기/명암/채도에 대한 UISliders 도구를 구현하고 Core Image Filter 클래스를 사용하고 있습니다. 앱을 열면 사진을 찍어 올바르게 표시 할 수 있습니다. 그러나 그림을 편집하고 설명 된 슬라이더 도구 중 하나를 사용하면 이미지가 반 시계 방향으로 90도 회전합니다. 나는 문제가 내가 배치 한 중단 점을 기준으로 brightnessSlider
방법에서 유래 있다고 생각CIFilter를 사용한 후 이미지가 자동으로 회전합니다.
- (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);
}
: 여기에 문제의 코드가있다. 내 사진의 자동 회전을 중지 할 수있는 방법이 있습니까? 그렇지 않은 경우 어떻게 다시 정상 방향으로 회전시킬 수 있습니까?