我目前正在制作一个 iPhone 应用程序,用户可以在其中拍照或从相册中选择照片,然后将覆盖层放置在图像上。然后用户可以缩放、旋转和保存图像。目前,我可以拍照,或者选择一张放入相册。至于覆盖层,我只是使用 UIImageView 并将其放置在界面构建器中的层次结构的顶部。对于相机,我使用以下代码:
-(IBAction)getPhoto:(id)sender {
// Create an image picker controller
UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init];
if((UIButton *) sender == choosePhotoBtn) {
// Set source to photo albums
imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
}
else {
// Set source to camera
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.showsCameraControls = YES;
}
// Delegate is self
imagePicker.delegate = self;
// Allow editing of image
imagePicker.allowsEditing = YES;
// Show image picker
[self presentModalViewController:imagePicker animated: YES];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
// Dismiss modalviewcontroller
[picker dismissModalViewControllerAnimated:YES];
// Displaying image to the imageView
imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
// Access the uncropped image from info dictionary
UIImage * image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
// Save Image
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
[picker release];
}
我现在遇到的问题是拍摄照片后对其进行编辑。如何自定义相机以使其表现如下?:
选择使用相机或从相册中获取照片
一旦选择,覆盖图像将变为我在脸上放置一个“圆圈”的图像,照片将像面具一样位于下面。该视图还可以全屏编辑。您可以旋转、缩放和移动图像,直到单击“完成”。
我已经阅读了手册中的这一部分,但我似乎不明白如何使用它。http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html
希望有人能指出我正确的方向。
非常感谢。
-哈基莫
有一种方法不需要太多改变你的代码:
- (IBAction)takePicture:(id)sender {
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
} else {
[imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
}
[imagePicker setAllowsEditing:YES];
[imagePicker setDelegate:self];
//place image picker on the screen
[self presentViewController:imagePicker animated:YES completion:nil];
}
如果你想使用编辑后的图片,请将“UIImagePickerControllerOriginalImage”更改为“UIImagePickerControllerEditedImage”,就可以了!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)