2010-03-23 9 views
9

bir görüntü oluşturun. nasıl kaydırılan ve zoom yapılabilen bir UIScrollView bir görüntü var UIView/UIScrollView

kullanıcı bir düğmeye bastığında

çok kodun bir CGRect ile belirttiğiniz bir alan içinde olduğunu UIScrollView ne olursa olsun parçası bir görüntü oluşturmak istiyorum.

Ben UIImages kırpmak için kod gördüm ama CGContextDrawImage kullandığı çünkü bir görünüm için aynı şeyi uyarlamak mümkün değil.

Herhangi bir düşünce?

Alkış, Andre

cevap

28

anladım başardınız.

- (UIImage *)imageByCropping:(UIScrollView *)imageToCrop toRect:(CGRect)rect 
{ 
    CGSize pageSize = rect.size; 
    UIGraphicsBeginImageContext(pageSize); 

    CGContextRef resizedContext = UIGraphicsGetCurrentContext(); 
    CGContextTranslateCTM(resizedContext, -imageToCrop.contentOffset.x, -imageToCrop.contentOffset.y); 
    [imageToCrop.layer renderInContext:resizedContext]; 
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 

    UIGraphicsEndImageContext(); 

    return image; 
} 

Eğer kullanarak çağrı: yararlı oldu

CGRect clippedRect = CGRectMake(0, 0, 320, 300); 
picture.image = [self imageByCropping:myScrollView toRect:clippedRect]; 
+0

, teşekkürler

İşte Web'den birkaç farklı olanlar dayalı benim çözüm bu. yöntemde Küçük bir böcek olsa: o Arayan view "scrollview" adını vermez durumda, bunun yerine imageToCrop bakmalıdır rağmen, scrollview ifade eder. –

+0

Tamamen haklısın :) sana rağmen yararlı bulduğuna sevindim. Alkış – Andre

+0

çok yararlıdır! Teşekkürler Andre – Ganesh