Ich fand diesen Code, der perfekt funktioniert. Aber es verwendet die Größe der Scrollview. Ich möchte die meine Größe verwenden.iOS - Screenshot von UIScrollView sichtbaren Bereich mit Größe machen?
UIScrollView *contentScrollView;....//scrollview instance
UIGraphicsBeginImageContextWithOptions(contentScrollView.bounds.size,
YES,
[UIScreen mainScreen].scale);
//this is the key
CGPoint offset=contentScrollView.contentOffset;
CGContextTranslateCTM(UIGraphicsGetCurrentContext(), -offset.x, -offset.y);
[contentScrollView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *visibleScrollViewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Wenn ich möchte, dass mein CGSize verwenden, was soll ich für CGContextTranslateCTM
verwenden?
EDIT
Meine scrollView
Größe 350 x 350. Ich hinzugefügt eine imageView
als Subview. Der Benutzer kann die scrollView zoomen und scrollen.
Nachdem der Benutzer zoomen/scrollen kann, kann der Benutzer auf die Schaltfläche Speichern klicken. Diese Schaltfläche nimmt einen Screenshot meiner scrollView
Aus dem obigen Code. Meine Bildschirmgröße beträgt 350 x 350 (entspricht der Größe). Ich möchte einen Screenshot des scrollView mit der Größe 1040 x 1040 machen und den richtigen Zoom/Scroll-Bereich bekommen.
Ich weiß, dass ich die Größe ändern kann, indem Sie diese:
UIGraphicsBeginImageContextWithOptions(CGSizeMake(1040, 1040), YES, [UIScreen mainScreen].scale);
Aber ich weiß nicht, wie der Offset-Teil an die neue Größe entsprechend zu ändern.
Sie die CGSize zu UIGraphicsBeginImageContext (imgV.frame.size) passieren kann; –
Ja, das weiß ich. Die Sache ist meine Scrollview wird gezoomt werden. Ich weiß nicht, wie man den Offset für das Ergebnisbild einstellt. Wenn Sie die Antwort wissen, bitte helfen Sie mir. Vielen Dank. – imstillalive
@imstillalive Sie versuchen also nicht, die Größe des resultierenden Bildes zu ändern, sondern möchten nur einen benutzerdefinierten Offset angeben, um den Teil der Bildlaufansicht zu definieren, der gerendert werden soll? – Hamish