2011-04-06 2 views
0

imagePickerController를 사용하여 내 뷰에서 기존 이미지를 바꿉니다. 이 기능은 동일한 IB 파일 내에서 작동합니다. 그러나 다른 IB 파일에서 선택한 이미지를로드하고 싶습니다. 나는 해결책이 이미지가 저장 될 때 이미지에 이름을 부여하는 것이라고 생각한다. 저장이 끝나면 다른 IB 파일 내 이미지에서 이미지를 (이름으로) 부르고 싶습니다.imagePickerController에서 저장된 이미지에 이름을 지정하는 방법

if (#some condition){ 
     UIImage *img = [UIImage imageNamed:@"Name of the image.png"]; 
     [image1 setImage:img]; 

} : 다음

내가 이용하여 이미지를 호출하고 싶습니다 내 다른 클래스 내에서 photopicker IB-파일

-(IBAction)setPhoto{ 

    image1.image = fotoView.image; 
} 

-(IBAction)getCameraPicture:(id)sender 
{ 
    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.delegate = self; 
    picker.allowsImageEditing = YES; 
    picker.sourceType = (sender == takePictureButton) ? UIImagePickerControllerSourceTypeCamera : 
    UIImagePickerControllerSourceTypeSavedPhotosAlbum; 
    [self presentModalViewController: picker animated:YES]; 
    [picker release]; 
} 

-(IBAction)selectExitingPicture 
{ 
    if([UIImagePickerController isSourceTypeAvailable: 
     UIImagePickerControllerSourceTypePhotoLibrary]) 
    { 
     UIImagePickerController *picker= [[UIImagePickerController alloc]init]; 
     picker.delegate = self; 
     picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
     [self presentModalViewController:picker animated:YES]; 
     [picker release]; 
    } 
} 

-(void)imagePickerController:(UIImagePickerController *)picker 
     didFinishPickingImage : (UIImage *)image 
       editingInfo:(NSDictionary *)editingInfo 
{ 
    [picker dismissModalViewControllerAnimated:YES]; 

    fotoView.image = image; 

    NSData* imdata = UIImagePNGRepresentation (image); 
    UIImage* im8 = [UIImage imageWithData:imdata]; 
    UIImageWriteToSavedPhotosAlbum(im8, nil, nil, nil); 
} 

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

내에서 사용하고 코드의 SNIPPIT입니다

도움말 크게 화상 따기

답변

1

방법을 이해하고, (D)에 저장되고 irectory :

- (void)imagePickerController:(UIImagePickerController *)picker 
     didFinishPickingImage:(UIImage *)image 
        editingInfo:(NSDictionary *)editingInfo { 
    [picker dismissModalViewControllerAnimated:YES]; 
    NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 

    NSString *pngFilePath = [NSString stringWithFormat:@"%@/MyName.png",docDir]; 
    NSData *data = [NSData dataWithData:UIImagePNGRepresentation(image)]; 
    [data writeToFile:pngFilePath atomically:YES]; 
} 

Lateron를 사용하여 호출 할 수 있습니다

NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
NSString *pngFilePath = [NSString stringWithFormat:@"%@/MyName.png",docDir]; 
UIImage *image = [[UIImage alloc] initWithContentsOfFile:pngFilePath]; 
+0

멋진 대답, 또한 솔루션을 내가 찾고 있었다. 많은 감사 – BarryK88

관련 문제