2010-03-23 17 views
9

से कोई छवि कैसे बनाएं IIScrollView में एक छवि है, जिसे स्क्रॉल और ज़ूम किया जा सकता है।UIView/UIScrollView

जब उपयोगकर्ता बटन दबाता है, तो मैं चाहता हूं कि यूआईएसक्रॉल व्यू के किसी भी हिस्से से कोड बनाने के लिए कोड एक सीजीआरईटी के साथ निर्दिष्ट क्षेत्र के अंदर है।

मैंने यूआईएममेज फसल करने के लिए कोड देखा है, लेकिन मैं इसे देखने के लिए इसे अनुकूलित नहीं कर सकता, क्योंकि यह CGContextDrawImage का उपयोग करता है।

कोई विचार?

चीयर्स, आंद्रे

उत्तर

28

मैं इसे पाने के लिए प्रबंधित किया है।

- (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; 
} 

जो आप का उपयोग करके फोन:

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

कि मददगार था, धन्यवाद

यहाँ मेरी समाधान, वेब से अलग-अलग पर आधारित है। विधि में एक छोटी सी बग, यद्यपि: यह scrollView को संदर्भित करता है, हालांकि कॉलर को "scrollView" दृश्य का नाम नहीं दिया गया है, इसके बजाय इसे imageToCrop को संदर्भित करना चाहिए। –

+0

आप पूरी तरह से सही हैं :) मुझे खुशी है कि आपको यह उपयोगी लगता है। चीयर्स – Andre

+0

यह बहुत उपयोगी है! धन्यवाद आंद्रे – Ganesh