2010-12-22 4 views
10

Ich bekomme ein Problem im Zusammenhang mit der Vorbereitung der UIImage aus einer UIView. Ich sehe manchmal (aber nicht immer) den Fehler<Error>: CGContextSaveGState: ungültiger Kontext 0x0 Fehler

<Error>: CGContextSaveGState: invalid context 0x0 

Ich benutze das iPhone SDK 4.0. Mein Code:

-(void)drawRect:(CGRect)rect 
{ 
    // Customized to draw some text 
} 


-(UIImage*) PrepareBackImage:(CGRect) aRect // aRect = (0,0,1800,1200) 
{ 
    UIImage* background; 

    background  = [self GetImageFromView:self toRect:self.frame]; 
    UIGraphicsBeginImageContext(aRect.size); 

    CGPoint backgroundPoint = CGPointMake(0,0); 
    [background drawAtPoint:backgroundPoint]; 

    UIImage* backImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return backImage; 
} 

- (UIImage *) GetImageFromView:(UIView *)aView toRect:(CGRect)aRect 
{ 
    CGSize pageSize = aRect.size; 
    UIGraphicsBeginImageContext(pageSize); 
    [aView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return image; 
} 

Antwort

4

Der Fehler <Error>: CGContextSaveGState: invalid context 0x0 bedeutet entweder Ihre CGContext ist NULL oder, desto mehr vernünftige Erklärung in Ihrem Fall, dass die Größe des Context leer ist (CGSizeZero)

+0

Versuchen Sie auch, um die Klasse zu verfolgen Das zeigt diesen Fehler und ob ein Objekt keine Größe oder Rahmen hat. –

Verwandte Themen