2013-08-13 23 views
8

Kullanıcı düzenleme ekranında varsayılan olarak gösterilen kırpma kutusu boyutunu değiştirebilir. Aşağıda koduyla çalıştı:Görüntüyü nesnel c nasıl kırpılır?

- (UIImage *)imageByCropping:(UIImage *)imageToCrop toRect:(CGRect)rect { 

    CGImageRef imageRef = CGImageCreateWithImageInRect([imageToCrop CGImage], rect); 
    UIImage *cropped = [UIImage imageWithCGImage:imageRef]; 
    CGImageRelease(imageRef); 
    return cropped; 
} 

Ama sabit bölgeyi kırpılmış. Kullanıcı tarafından seçilen alan nasıl kırpılır?

+1

Farklı CGRect'leri deneyin ve deneyin en fonksiyonu çalışacaktır. Bence hiç sorun kodunuzda. Temel bilgilerinizde dil sorunu. Öneririm, lütfen Objective-C'deki bazı kitapları veya Apple Doc'ları okuyun. – Tirth

cevap

6
CGRect clippedRect = CGRectMake(0 ,0,180 ,180); 
    CGImageRef imageRef = CGImageCreateWithImageInRect(imgVw1.image.CGImage, clippedRect); 
    UIImage *newImage = [UIImage imageWithCGImage:imageRef]; 
    CGImageRelease(imageRef); 
    imgVw1Cliped.image=newImage; 

    NSLog(@"%d",imgVw1Cliped.image.imageOrientation); 
+0

Yardımınız için teşekkür ederiz. – Anupama

+0

@ user2677875 u cevaptan memnun kaldıysanız lütfen bu cevabı not ediniz .. bcz ur upvote Mohit için tam yardımcı olacaktır .. ve bu cevap projemde çalışmaktadır. – Bajaj

+0

@Mohit bu kod artık çalışmıyor gibi görünüyor. Ios8 için bir hata verir. – sunny

22

Mahsul Resmi alın İçin: Çağrı croppIngimageByImageName için

UIImage *croppedImg = nil; 
CGRect cropRect = CGRectMake("AS YOu Need"); //set your rect size. 
croppedImg = [self croppIngimageByImageName:self.imageView.image toRect:cropRect]; 

kullanın aşağıdaki kodu: toRect: return yöntem

- (UIImage *)croppIngimageByImageName:(UIImage *)imageToCrop toRect:(CGRect)rect 
    { 
     //CGRect CropRect = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height+15); 

     CGImageRef imageRef = CGImageCreateWithImageInRect([imageToCrop CGImage], rect); 
     UIImage *cropped = [UIImage imageWithCGImage:imageRef]; 
     CGImageRelease(imageRef); 

     return cropped; 
    } 
(resmin belirli boyutu ile ) UIImage
İlgili konular