2017-01-07 7 views
2

イメージを切り抜きたいので、多くのライブラリを検索しましたが、完全な答えが見つかりませんでした。イメージイメージを切り取る際のクロッピングの問題

固定された最大の高さと幅(300,200)と固定された最小の高さと幅(1.0,1.0)を持つ四角形を使用して画像を切り抜きたいとします。長方形も移動可能で、最大と最小の寸法内の任意のサイズにリサイズできます。あなたはTimOliver/TOCropViewControllerを使用してTOCropViewControllerからの要望に応じてごトリミング枠を変更することができます

//Pass the UIImage object and the varying rectangle you "outputrect" 
    - (UIImage *)cropImage:(UIImage *)image outPutRect:(CGRect) outputRect 
    { 

     CGImageRef takenCGImage = image.CGImage; 
     size_t width = CGImageGetWidth(takenCGImage); 
     size_t height = CGImageGetHeight(takenCGImage); 
     CGRect cropRect = CGRectMake(outputRect.origin.x * width, outputRect.origin.y * height, 
            outputRect.size.width * width, outputRect.size.height * height); 

     CGImageRef cropCGImage = CGImageCreateWithImageInRect(takenCGImage, cropRect); 
     image = [UIImage imageWithCGImage:cropCGImage scale:1 orientation:image.imageOrientation]; 
     CGImageRelease(cropCGImage); 

     return image; 
    } 
+0

このタスクのアプリを見つけようとしているのですか、これを行うアプリを作成しようとしていますか?アプリを作成しようとしている場合は、どの言語を使用していますか?既に何を試していますか? – kbunarjo

+0

私はObjective-Cを使用しています。 –

+0

あなたのコードはどれくらいあなたがすでに書いているか分かりませんが、これは役に立ちますか? http://stackoverflow.com/questions/18205672/how-to-crop-the-image-in-objective-c – kbunarjo

答えて

3

私は以下のコードをチェックアウトし、部分的にあなたの質問を理解しています。

1:フルプロジェクトをhttps://github.com/TimOliver/TOCropViewControllerからダウンロードしてください。

2:TOCropViewController.h、TOCropViewController.mおよび他のクラスを持つクラスをドラッグアンドドロップします。

3:メソッドを持つTOCropViewController.mクラスの要求に応じて比率を設定します。[self setAspectRatioPreset:self.aspectRatioPreset animated:NO];

+0

矩形でイメージを動的にトリミングしたい、矩形は固定された最大の高さと幅(300,200)と固定された最小の高さと幅(1.0,1.0)を持ちます。長方形も移動可能であり、最大および最小寸法内の任意のサイズにリサイズすることができる。 –

+0

あなたは上記の方法であなたの可動rectを "outputrect"として渡すことができ、出力rectにトリミングされたUIImageを返します。投票してください。乾杯。 –

0

:あなたはUIImageをトリミングするために探している場合

+0

これは長いプロセスですが、トリミングに最適です。 –

+0

固定高さと幅(300,200)が固定され、固定された最小の高さと幅(1.0,1.0)を持ち、移動可能な長方形のコーディング部分を提供できますか? (空)setAspectRatioPreset:(TOCropViewControllerAspectRatioPreset)aspectRatioPresetアニメーション:(BOOL)アニメーションスイッチ(aspectRatioPreset){ ケースTOCropViewControllerAspectRatioPresetOriginal: // aspectRatio = CGSizeZero; –

+0

aspectRatio = CGSizeMake(3.0f、2.0f);}この比率で移動可能です。 –