2012-01-28 6 views
35

"move and scale screen"はクロップボックスの寸法をどのように決定しますか?UIImagePickerController "move and scale"クロップボックスの寸法を設定します

基本的には、「CropRect」の幅と高さを固定し、ユーザーが画像を移動して、必要に応じてそのボックスに収まるように拡大したいと考えています。

誰でもこれを行う方法を知っていますか? (またはUIImagePickerControllerでも可能な場合)

ありがとう!

+0

誰かが迅速に同じソリューションを使用できますか? –

答えて

33

残念なことにUIImagePickerControllerでは不可能です。私が推奨する解決策は、画像ピッカーの編集を無効にして、それを自分で処理することです。たとえば、画像をスクロール可能なズーム可能な画像ビューに置きます。画像ビューの上には、ユーザが見るクロップインジケータを描画する固定位置「クロップガイドビュー」があります。ガイドビューに表示される矩形(保持する部分)とエッジの幅(破棄する部分)のプロパティがあると仮定すると、そのようにクロップ矩形を取得できます。 UIImage+Resizeカテゴリを使用して、実際のクロッピングを実行できます。ちょっと遅くゲームへ

CGRect cropGuide = self.cropGuideView.visibleRect; 
UIEdgeInsets edges = self.cropGuideView.edgeWidths; 
CGPoint cropGuideOffset = self.cropScrollView.contentOffset; 

CGPoint origin = CGPointMake(cropGuideOffset.x + edges.left, cropGuideOffset.y + edges.top); 
CGSize size = cropGuide.size; 
CGRect crop = { origin, size }; 

crop.origin.x = crop.origin.x/self.cropScrollView.zoomScale; 
crop.origin.y = crop.origin.y/self.cropScrollView.zoomScale; 
crop.size.width = crop.size.width/self.cropScrollView.zoomScale; 
crop.size.height = crop.size.height/self.cropScrollView.zoomScale; 

photo = [photo croppedImage:crop]; 
+0

完璧な答え。ありがとう! –

+11

サンプルプロジェクトや何か他のものを提供してください。 –

+0

@Marc。私はどのように迅速に使用して実行する方法を私を導くことができます –

24

が、私は、これはあなたが探しているものかもしれないと思う:ここではhttps://github.com/gekitz/GKImagePicker

+6

よくここに私は将来の土地では確かにそれを感謝! – Pinwheeler

+1

私はあなたを愛しています、これはちょうど私に多くの時間を救った。 – thedeveloper3124

+1

カメラ用の使い方は? – giuseppe

3

は明ヤンによる手動トリミングのためのソリューションです。 https://github.com/myang-git/iOS-Image-Crop-View

矩形のフレームが用意されています。このフレームは、スライドまたはドラッグして画像の必要な部分を四角形に合わせることができます。この解決法は質問の逆を行います。長方形のサイズを変えることはできますが、最終的には望みの結果が得られます。

Objective-Cでコード化されています。 Swiftでコードを作成するか、Objective-CコードとSwiftコードを接続するためのブリッジヘッダーを作成する必要があります。

+1

他のライブラリよりも優れています。 –

関連する問題