Я использую UIImagePickerController для сохранения моего изображения.Однако, если я выберу изображение и отрегулирую масштаб изображения, оно сохранится с неполным изображением (с черным цветным фоном, как показано ниже).Как я могу сохранить подходящее изображение в этом случае?Пожалуйста помоги.Спасибо.
Мой текущий код здесь: -
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
UIImage *image = [info objectForKey:@"UIImagePickerControllerEditedImage"];
image = [self scaleImage:image toSize:CGSizeMake(200,200)]; // or some other size
if (image == nil) {
image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
}
if (image.imageOrientation != UIImageOrientationUp) {
image = [self fixOrientation:image];
}
if (_imageName==nil || _imageName.length == 0) {
NSDate *date = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
NSString *dateStr = [formatter stringFromDate:date];
_imageName = [NSString stringWithFormat:@"photo_%@.png",dateStr];
}
[[self getCurrentVC] dismissViewControllerAnimated:YES completion:nil];
if (_delegate && [_delegate respondsToSelector:@selector(selectPhotoManagerDidFinishImage:)]) {
[_delegate selectPhotoManagerDidFinishImage:image];
}
if (_successHandle) {
_successHandle(self,image);
}
}
- (UIImage *) scaleImage:(UIImage*)image toSize:(CGSize)newSize {
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}