且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何防止再次从相机胶卷保存图片

更新时间:2023-12-02 10:13:10

尝试此代码.它在我这方面正常工作.

Try this code.. Its working properly from my side.

- (IBAction) uploadPhoto:(id)sender
{
        UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@""
                                                                 delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil
                                                        otherButtonTitles:@"Use Photo from Library", @"Take Photo with Camera", nil];
        actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
        actionSheetAction = ActionSheetToSelectTypeOfSource;
        [actionSheet showInView:self.view];
        [actionSheet release];
}

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
    UIImagePickerControllerSourceType sourceType;
                if (buttonIndex == 0) {
                    sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
                } else if(buttonIndex == 1) {
                    sourceType = UIImagePickerControllerSourceTypeCamera;
                }else {
                    // Cancel
                    break;
                }
                if([UIImagePickerController isSourceTypeAvailable:sourceType]) {
                    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
                    picker.sourceType = sourceType;
                    picker.delegate = self;
                    if (sourceType == UIImagePickerControllerSourceTypeCamera) {
                        picker.cameraFlashMode = UIImagePickerControllerCameraFlashModeOn;
                    }
                    picker.allowsImageEditing = NO;
                    [self presentModalViewController:picker animated:YES];
                    [picker release];
                }

}

#pragma mark -
#pragma mark UIImagePickerControllerDelegate

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
   UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
   NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES);
 NSString *docDirectory = [paths objectAtIndex:0];
 NSString *imgPath = [documentsDirectory stringByAppendingPathComponent:[NSString  stringWithFormat:@"image1.png"]];

//COnvert it to NSData before saving and then save it
    NSData *imgData = UIImagePNGRepresentation(image);
    [imgData writeToFile:imgPath atomically:YES];
   [self dismissModalViewControllerAnimated:YES];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
    [self dismissModalViewControllerAnimated:YES];
}