Ich möchte einen Screenshot des Bildes auf dem Bildschirm in der gespeicherten Fotobibliothek speichern.
ios
iphone
screenshot
Jab
quelle
quelle
Die folgende Methode funktioniert auch für OPENGL-Objekte
quelle
UIGetScreenImage
ist eine private APIquelle
Quelle .
quelle
UIImage *myImage = [[UIImage alloc] initWithCGImage:imageRef scale:1.0 orientation:UIImageOrientationDownMirrored];
und du brauchst 'buffer2' nicht mehr. Übrigens scheint es mir, als hätten Sie die Speicherverwaltung vergessen, keine kostenlosen () oder release () -Aufrufe ...IN SCHNELL
quelle
In diesem Beitrag können Sie UIGetScreenImage () vorerst verwenden.
quelle
Ab iOS10 wird dies etwas einfacher. UIKit wird mitgeliefert
UIGraphicsImageRender
, damit Sie es könnenApple Docs - UIGraphicsImageRenderer
Sie können jetzt so etwas tun:
Viele der Antworten hier haben in den meisten Fällen für mich funktioniert. Aber als
ARSCNView
ich versuchte, einen Schnappschuss von einem zu machen , konnte ich das nur mit der oben beschriebenen Methode machen. Obwohl es erwähnenswert sein könnte, dass sich ARKit derzeit noch in der Beta befindet und Xcode sich in der Beta 4 befindetquelle
Dadurch wird ein Screenshot gespeichert und der Screenshot wird ebenfalls zurückgegeben.
quelle
Ich denke, das folgende Snippet würde helfen, wenn Sie einen Vollbildmodus (mit Ausnahme der Statusleiste ) erstellen möchten. Ersetzen Sie AppDelegate bei Bedarf durch den Namen Ihres App-Delegaten.
quelle
Ich konnte mit der Implementierung von Swift 3 keine Antwort finden. Also los geht's.
quelle
Für iOS 7.0 oder höher ..
Wenn Sie beispielsweise Screenshots der Ansicht (myView) machen möchten, können Sie dies mit einer einzelnen Zeile tun:
quelle
Dies funktioniert mit Swift 4.2 . Der Screenshot wird in der Bibliothek gespeichert. Vergessen Sie jedoch nicht, Folgendes zu bearbeiten
info.plist @ NSPhotoLibraryAddUsageDescription
:quelle
Screenshot aus der Ansicht abrufen
Bild auf Fotos speichern
Wie man
quelle
Screenshot aus der Ansicht abrufen:
Hoffe, das ist was du suchst. Alle Bedenken melden sich bei mir. :) :)
quelle
Ich beantworte diese Frage, da sie sehr geschätzt wird und es viele Antworten gibt, außerdem gibt es Swift und Obj-C.
Haftungsausschluss Dies ist weder mein Code noch meine Antwort. Dies soll nur Menschen helfen, die hier landen, eine schnelle Antwort zu finden. Es gibt Links zu den ursprünglichen Antworten, um Kredit zu geben, wo Kredit fällig ist !! Bitte würdigen Sie die ursprünglichen Antworten mit +1, wenn Sie ihre Antwort verwenden!
Verwenden von
QuartzCore
In Swift
Hinweis: Aufgrund der Art der Programmierung müssen möglicherweise Aktualisierungen vorgenommen werden. Bearbeiten Sie diese oder lassen Sie es mich wissen! * Auch wenn ich keine Antwort / Methode angegeben habe, die es wert ist, aufgenommen zu werden, können Sie mich auch darüber informieren!
quelle
Eine weitere Option ist die Verwendung des Automatisierungstools für Instrumente. Sie schreiben ein Skript, um den Bildschirm in den gewünschten Zustand zu versetzen, und machen dann die Aufnahmen. Hier ist das Skript, das ich für eine meiner Apps verwendet habe. Offensichtlich unterscheiden sich die Details des Skripts für Ihre App.
quelle
Zwei Optionen sind unten aufgeführt:
OPTION 1: Verwenden von UIWindow (versucht und funktioniert perfekt)
OPTION 2: Verwenden von UIView
Für Retina-Bildschirm (als DenNukem-Antwort)
Für weitere Informationen: http://pinkstone.co.uk/how-to-take-a-screeshot-in-ios-programmatic/
quelle
Nur ein kleiner Beitrag, ich habe dies mit einem Knopf gemacht, aber das Drücken bedeutet auch, dass der Knopf gedrückt wird. Also mache ich zuerst ein Highlight.
Ich habe den Hauptteil des Codes von folgender Adresse erhalten : http://pinkstone.co.uk/how-to-take-a-screeshot-in-ios-programmatisch/ wo ich Option 1 verwendet habe, Option 2 schien nicht zu funktionieren für mich. Die Anpassungen für Rentina-Bildschirmgrößen aus diesem Thread und die Hervorhebung des screenShotButton wurden hinzugefügt. Die Ansicht, in der ich sie verwende, ist ein StoryBoarded-Bildschirm mit Schaltflächen und Beschriftungen, und mehrere UIView werden später über das Programm hinzugefügt.
quelle
In Swift können Sie folgenden Code verwenden.
quelle
Swift 4:
quelle