Ios 是否为PickerController设置最大图像分辨率?
我想拍一张固定分辨率的照片。需要强制用户裁剪图像。我需要一个正方形的图像 我正在使用下一个代码,它只是按屏幕分辨率的宽度进行裁剪Ios 是否为PickerController设置最大图像分辨率?,ios,objective-c,uiimagepickercontroller,Ios,Objective C,Uiimagepickercontroller,我想拍一张固定分辨率的照片。需要强制用户裁剪图像。我需要一个正方形的图像 我正在使用下一个代码,它只是按屏幕分辨率的宽度进行裁剪 self.imagepicker = [[UIImagePickerController alloc]init]; self.imagepicker.delegate = self; self.imagepicker.allowsEditing=YES; self.imagepicker.preferredContentSize = CGSizeMake(200, 2
self.imagepicker = [[UIImagePickerController alloc]init];
self.imagepicker.delegate = self;
self.imagepicker.allowsEditing=YES;
self.imagepicker.preferredContentSize = CGSizeMake(200, 200);
self.imagepicker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:self.imagepicker animated:YES completion:nil];
preferredContentSize
不是UIImagePickerController本身的属性,而是任何UIViewController的属性,例如当它嵌入UIPopoverController时
您需要自己展示裁剪界面。如果您想在选择图像后完成裁剪,请在中心尝试裁剪图像的代码
- (UIImage *)squareImageFromImage:(UIImage *)image scaledToSize:(CGFloat)newSize1
{
CGAffineTransform scaleTransform;
CGPoint origin;
CGFloat newSize;
if (image.size.width > image.size.height)
{
newSize=image.size.height;
CGFloat scaleRatio = newSize / image.size.height;
scaleTransform = CGAffineTransformMakeScale(scaleRatio, scaleRatio);
origin = CGPointMake(-(image.size.width - image.size.height) / 2.0f, 0);
}
else
{
newSize=image.size.width;
CGFloat scaleRatio = newSize / image.size.width;
scaleTransform = CGAffineTransformMakeScale(scaleRatio, scaleRatio);
origin = CGPointMake(0, -(image.size.height - image.size.width) / 2.0f);
}
CGSize size = CGSizeMake(newSize, newSize);
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
UIGraphicsBeginImageContextWithOptions(size, YES, 0);
} else {
UIGraphicsBeginImageContext(size);
}
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextConcatCTM(context, scaleTransform);
[image drawAtPoint:origin];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
这对你很有帮助。谢谢这段代码给你带来了什么问题?你想在设置图像之前裁剪正方形图像吗?我想让用户按照自己的意愿剪切图像,但是当图像是横向的,他不缩放图像时,图像会有一个黑色的条带顶部和底部,允许编辑为“否”,并编写自己的方法来裁剪图像!!!