2017-01-07 7 views
2

Ich möchte ein Bild zuschneiden, und ich habe viele Bibliotheken gesucht, aber keine perfekte Antwort gefunden.Image Cropping Problem zum Zuschneiden eines Bildes

Ich möchte ein Bild mit Rechteckform zuschneiden, die eine feste maximale Höhe und Breite (300, 200) und eine feste minimale Höhe und Breite (1.0, 1.0) haben. Das Rechteck ist ebenfalls beweglich und kann innerhalb der maximalen und minimalen Abmessungen auf jede Größe angepasst werden.

+0

Versuchen Sie, eine App für diese Aufgabe zu finden, oder möchten Sie eine App dafür erstellen? Wenn Sie versuchen, eine App zu erstellen, welche Sprache verwenden Sie und was haben Sie bereits ausprobiert? – kbunarjo

+0

Ich habe Objective-c .. –

+0

Ich bin nicht sicher, wie viel von Ihrem Code Sie bereits geschrieben haben, aber hilft das? http://stackoverflow.com/questions/18205672/how-to-crop-the-image-in-objective-c – kbunarjo

Antwort

3

Ich verstehe Ihre Frage nur teilweise, wenn Sie eine UIImage zu beschneiden suchen, überprüfen Sie den Code unten aus:

//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

Ich möchte ein Bild dynamisch in Rechteckform zuschneiden, und Rechteck haben eine feste maximale Höhe und Breite (300, 200) und eine feste minimale Höhe und Breite (1.0, 1.0). Das Rechteck ist ebenfalls beweglich und kann innerhalb der maximalen und minimalen Abmessungen beliebig skaliert werden. –

+0

Sie könnten Ihr bewegliches Rect als "outputrect" in der obigen Methode übergeben und es wird Ihnen das UIImage zurückgeben, das auf diesen Ausgang rect zugeschnitten ist. Bitte abstimmen. Prost. –

0

Sie können TimOliver/TOCropViewController verwenden und Ihre Zuschneiderahmen von TOCropViewController auf Nachfrage nach ändern. m-Klasse,

1: Laden Sie das vollständige Projekt von https://github.com/TimOliver/TOCropViewController.

2: Ziehen Sie TOCropViewController.h, TOCropViewController.m und Klasse mit anderen Klassen.

3: Verhältnis nach Bedarf in TOCropViewController.m Klasse mit Methode [self setAspectRatioPreset: self.aspectRatioPreset animiert: NO];

+0

Dies ist ein langer Prozess, aber perfekt zum Zuschneiden. –

+0

Können Sie den Codierungsteil für Rechteck bereitstellen, das eine feste maximale Höhe und Breite (300, 200) und eine feste minimale Höhe und Breite (1.0, 1.0) haben und beweglich sein kann. –

+0

Sie können Verhältnis gesetzt 3: 2 auf - (void) setAspectRatioPreset: (TOCropViewControllerAspectRatioPreset) aspectRatioPreset animiert: (BOOL) animiert Schalter (aspectRatioPreset) { Fall TOCropViewControllerAspectRatioPresetOriginal: // aspectratio = CGSizeZero; aspectRatio = CGSizeMake (3.0f, 2.0f);} und kann auf dieses Verhältnis bewegt werden. –

Verwandte Themen