2010-06-21 6 views
1

J'ai un scrollview, la taille de l'image est 480x265 et la taille du contenu est 1800x600.Comment convertir un UIScrollView en image?

J'ai beaucoup d'UIView ajouté comme sous-vue à cette scrollview. Puis-je savoir comment convertir cette scrollview en une image?

Merci beaucoup pour vos commentaires/aide à l'avance!

+0

Ceci est un double de http://stackoverflow.com/questions/3539717/getting-a-screenshot -of-a-uiscrollview-including-offscreen-parts – Rambatino

Répondre

3
- (void)submitClicked 
{ 
    UIGraphicsBeginImageContext(scrollView.contentSize); 

    CGPoint savedContentOffset = scrollView.contentOffset; 
    CGRect savedFrame = scrollView.frame; 

    scrollView.contentOffset = CGPointZero; 
    scrollView.frame = CGRectMake(0, 0, scrollView.contentSize.width, scrollView.contentSize.height); 
    [scrollView.layer renderInContext: UIGraphicsGetCurrentContext()];  
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 

    scrollView.contentOffset = savedContentOffset; 
    scrollView.frame = savedFrame; 

    UIGraphicsEndImageContext(); 
} 
+0

cela fonctionnera très bien pour vous parce que je souffre également de ce problème TAUHEED AHMD –

0

Apparemment, vous souhaitez enregistrer le contenu de votre vue de défilement dans l'image.

UIGraphicsBeginImageContext(self.view.bounds.size); 
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
NSData * data = UIImagePNGRepresentation(image); 
[data writeToFile:@"myImage.png" atomically:YES]; 

Pour obtenir plus d'informations à ce sujet ... un coup d'oeil à link 1 et link 2

+0

Cela ne capturera que les parties visibles de la scrollview et il va couper le reste du contenu qui sont invisible – iwasrobbed

Questions connexes