Я использую контроллер камеры для съемки, и я показываю его в своем приложении. Однако я не использую UIImageView
, чтобы отобразить изображение. Я рисую UIImage
на UIView
, и результатом я получаю обратное изображение. Вот скриншот:UIImage отменяется, когда нарисован на UIView
и результат после того, как я нажимаю на использование фото является:
Вот мой код:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
dView=[[drawView alloc]initWithFrame:imageUIView.frame];
[dView drawImage:chosenImage];
[imageUIView addSubview:dView];
[picker dismissViewControllerAnimated:YES completion:NULL];
}
и DVIEW:
-(void)drawImage:(UIImage *) imageToDraw{
self.pic=imageToDraw;
[imageToDraw drawInRect:self.frame];
[self setNeedsDisplay];
}
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGRect targetBounds = self.layer.bounds;
// fit the image, preserving its aspect ratio, into our target bounds
CGRect imageRect = AVMakeRectWithAspectRatioInsideRect(self.pic.size,
targetBounds);
// draw the image
CGContextDrawImage(context, imageRect, self.pic.CGImage);
// Save the screen to restore next time around
imageRef = CGBitmapContextCreateImage(context);
}
Я попробовал CGAffineTransformMakeRotation
и CGContextRotateCTM
для правильного отображения изображения, но они поворачивают изображение, вместо того, чтобы отображать содержимое в правильном порядке. Как вы можете видеть, содержимое на изображении полностью отменено.
Как нарисовать uiimage
, не внося изменений в свою форму?
@picciano Почему? Это не связано. – rmaddy