hug*_*dan 5 iphone objective-c ios
我正在尝试实现iOS相机视图,拍摄方形的图片(类似于Instagram).我的代码如下所示.框架高度设置为等于框架宽度的第一部分按预期工作,并为用户提供方形视图.当我尝试使用CGImageCreateWithImageInRect将帧(它是CGRect属性)应用于图像数据时,会出现此问题.我使用图像将帧rect传递给此方法.但结果并没有被裁剪成方形.而是图像保留iOS相机的原始默认尺寸.有人可以告诉我我做错了什么吗?我从Apple文档中了解到,CGImageCreateWithImageInRect应从一些起始x/y坐标中选择形状为Rect的图像区域.但这似乎并没有发生.
//Set the frame size to be square shaped
UIView *view = imagePicker.view;
frame = view.frame;
frame.size.height = frame.size.width;
view.frame = frame;
//Crop the image to the frame dimensions using CGImageCreateWithImageInRect
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[self.popoverController dismissPopoverAnimated:true];
NSString *mediaType = [info
objectForKey:UIImagePickerControllerMediaType];
[self dismissModalViewControllerAnimated:YES];
if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {
UIImage *image = [info
objectForKey:UIImagePickerControllerOriginalImage];
croppedImage = (__bridge UIImage *)(CGImageCreateWithImageInRect((__bridge CGImageRef)(image), frame));
imageView.image = croppedImage;
}
else if ([mediaType isEqualToString:(NSString *)kUTTypeMovie])
{
// Code here to support video if enabled
}
}
Run Code Online (Sandbox Code Playgroud)
你做得对。唯一的问题是,我认为您将框架属性设置为与选取器视图相同,因此最终尺寸与原始尺寸相同。
尝试设置frame小于pickerView.view.frame,不等于
看一下这个
| 归档时间: |
|
| 查看次数: |
5416 次 |
| 最近记录: |