2013-07-06 106 views
-1

在我的iPad應用程序中,用戶從webView中選擇一個圖像。保存的圖像顯示在UIPopOver中包含的imagePicker中。用戶可以裁剪和調整圖像大小,完成後,所選圖像將顯示在UIImageView中。UIImagePicker從webView顯示保存的圖像

所有這一切運作良好,但要實現它,從webView選擇的圖像使用下面的代碼加載到用戶的庫:

imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 

理想情況下,我不希望圖像出現保存到圖書館,因爲當應用程序完成時,圖像不會被需要或保存。如果有幫助,這裏是我使用來從webView圖像到庫中的代碼:

UIGraphicsBeginImageContext(webPage.frame.size); 
[webPage.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
UIImageWriteToSavedPhotosAlbum(viewImage, nil,nil,nil); 
+1

那麼問題是什麼? –

+0

我調整了您的代碼格式,請在發佈問題時正確設置代碼格式。也正確地標記問題(我也爲你做了這些)除此之外,你的問題還不清楚。它加載到庫中,並且你不希望它保存在庫中?什麼庫?相機膠捲? – JSA986

+0

@Jsumners基本上,如何讓圖像選擇器中顯示的圖像不是從用戶相機膠捲中選擇的,而是從UIWebView中選擇的。如下所示:UIImage - > UIImagePicker - > UIImageView – pete

回答

1

然後將它保存到NSDocumentsDirectory

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
NSString *docs = [paths objectAtIndex:0]; 
    NSString *picture_information = [docs stringByAppendingFormat:@"/picture_name.png"]; 

//your code 

UIGraphicsBeginImageContext(webPage.frame.size); 
[webPage.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

[UIImagePNGRepresentation(viewImage) writeToFile:picture_information atomically:YES]; 

//And you retrieve it like this: 

UIImage *img = [UIImage imageWithContentsOfFile:picture_information]; 

希望這有助於。

+0

感謝您的幫助,但如何獲取保存的img到UIImagePickerController中,以便用戶可以調整大小和裁剪。 – pete

+0

你爲什麼不讓自定義的viewController在哪裏你可以做到這一點? – soryngod

+0

我知道要做更多的工作,但如果您想使用DocumentsDirectory,則應該這樣做。 – soryngod