Ios UIImagePickerControlleredItemImage使用黑色背景保存图像
我正在使用UIImagePickerController保存图像。但是,如果我选择一个图像并调整图像缩放,它将保存为不完整的图像(黑色背景如下)。在这种情况下,如何保存fit图像? 请帮忙。非常感谢。 我的当前代码如下:-Ios UIImagePickerControlleredItemImage使用黑色背景保存图像,ios,objective-c,uiimagepickercontroller,Ios,Objective C,Uiimagepickercontroller,我正在使用UIImagePickerController保存图像。但是,如果我选择一个图像并调整图像缩放,它将保存为不完整的图像(黑色背景如下)。在这种情况下,如何保存fit图像? 请帮忙。非常感谢。 我的当前代码如下:- - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ UIImage *image =
- (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;
}
您在第一个语句中分配了UIImagePickerControllerEditedImage图像,您在其中得到了值吗?@dreamBegin,我在第一个语句中得到了这个值:-
size{11221062}方向0 scale 1.000000
在image=[self scaleImage:image-toSize:CGSizeMake(200200)]之后放置一个断点代码>语句,看看你的gettingHi@dreamBegin,我得到这个大小{200200}方向0刻度3.000000
有什么办法解决这个问题吗?你在哪里展示这个图像?imageview如果是,imageview的内容模式是什么?