2

我仍然有uiimagepickercontroller這個問題。這應該是直接的,但我仍然無法弄清楚。或者我可能會走錯方向。UIImagePickerController allowsEditing = YES問題

我稱之爲imagepicker,以便用戶可以從相機膠捲/相冊中加載照片/從相機拍攝照片。這部分沒有問題。

當我將allowedEditing設置爲YES時,會變得很奇怪。 didiFinishPickingMediaWithInfo委託會返回一個NSDictionary *信息,其中既有editedImage也有originalImage,即使用戶沒有裁剪選擇器中顯示的圖像。所以問題是我如何檢測用戶是否裁剪圖像?

我需要的是我的應用程序允許用戶裁剪圖像,如果他願意,但他也可以選擇不裁剪,從而返回原始照片。目前我正在使用一個分段控件供用戶在加載照片之前進行預先選擇,我覺得這很不方便。也許有些用戶不理解它。

那麼我怎麼能實現我所需要的,而不會讓用戶困擾呢?

回答

3

我很肯定你必須編輯圖像,如果編輯控件顯示。我不知道有什麼辦法擺脫這個廣場。

但是,如果我錯了,你就可以比較它們的大小:

editedImage = [info objectForKey:UIImagePickerControllerEditedImage]; 
originalImage = [info objectForKey:UIImagePickerControllerOriginalImage]; 

if ((editedImage.size.width != originalImage.size.width) || (editedImage.size.height != originalImage.size.height)) { 
    // The image has been edited 
} 
+0

嗨馬修,謝謝你的回答。無論如何,我認爲如果我這樣做,它將永遠是真實的。因爲,比如,說我正在加載一幅肖像照片,當設置allowsEditing = YES時,那麼裁剪方塊已經在那裏,因此,即使用戶還沒有裁剪過它,editedImage也將始終返回該方塊內的任何內容。我想到了一個解決方法,或者詢問用戶是否要剪裁照片,然後根據該輸入呈現選擇器。我沒有其他的想法。 – GeneCode 2010-12-07 15:20:17

-1

只要使用這個..它會自動返回正確的圖像,裁剪或uncropped的......,你還有所有信息只是incase :)

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)info 
{ 
相關問題