2

私はまだuiimagepickercontrollerでこの問題が発生しています。それはまっすぐ進むはずですが、私はまだそれを理解することはできません。あるいは、間違った方向に行くかもしれない。UIImagePickerController allowsEditing = YES問題

カメラロール/写真アルバムから写真を読み込んだり、カメラから写真を撮ったりできるようにimagepickerを呼び出します。この部分は問題ありません。

allowEditingをYESに設定すると奇妙になります。 didiFinishPickingMediaWithInfoデリゲートは、ユーザーがピッカーに表示されているイメージをトリミングしなかった場合でも、editedImageとoriginalImageの両方にNSDictionary *情報を返します。だから問題は、ユーザーがイメージを切り取ったかどうかをどうやって検出できるかということです。

私のアプリに必要なものは、ユーザーが望むなら画像を切り抜くことが許されていますが、切り抜かないという選択肢も与えられ、元の写真を返します。現在、私はユーザーにセグメント化されたコントロールを使用して写真をロードする前に事前に選択していますが、これはかなり不便だと思います。そして、それを理解していないユーザーもいます。

だから私は、ユーザーを悩ますことなく、必要なものを実装することができますか?

答えて

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

こんにちはMatthew、あなたの答えのためにありがとう。とにかく、私がそれをすると、それはいつも真だと思う。たとえば、肖像写真を読み込んでいるときにallowEditing = YESを設定すると、切り抜き四角形が既に存在するため、editedImageはユーザーが四角形を切り取っていなくても、四角形の内側にあるものを常に返します。おそらくユーザーに写真の切り抜きをしたいかどうかを尋ね、その入力に基づいてピッカーを提示することによって、これを回避する方法を考えました。 Im他のアイデアから。 – GeneCode

+0

あなたは両方の画像を持っているので後で尋ねることができますが、編集広場は人を驚かせるでしょう。私は、あなたが部屋を持っている場合、私は "写真を撮る"と "写真を撮って編集する"のような2つの異なるボタンを使用すると思います。ユーザーは気付いて意図的に1つを選択することが保証されています。 –

+0

ユーザーの視点では、アプリケーションが後で作物を要求すると、そのことについてユーザーに2回質問するようなものになります。私はそれがユーザーを混乱させると思う。写真を撮って写真を撮って編集するあなたの考えは大丈夫です。しかし、現時点では、UIImagePicker/Cameraを提示する前に、写真をトリミングするかどうかをユーザーに尋ねるACtionSheetを提示します。これは私が既に3つのボタンを持っているからです(Camera Roll、Photo Albums、Take Aカメラからのロード)。とにかくあなたの返事をありがとう、私はあなたの考えに感謝します。 – GeneCode

-1

ただ... ..それは自動的に、適切な画像を返すトリミングやuncroppedのだろうこれを使用すると、あなたはまだ、すべて持っています情報をちょうど入れなさい:)

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)info 
{ 
関連する問題