Je veux une capture d'écran de l'image sur l'écran enregistrée dans la photothèque enregistrée.
ios
iphone
screenshot
Coup
la source
la source
La méthode ci-dessous fonctionne également pour les objets OPENGL
la source
UIGetScreenImage
est une API privéela source
Source .
la source
UIImage *myImage = [[UIImage alloc] initWithCGImage:imageRef scale:1.0 orientation:UIImageOrientationDownMirrored];
et vous n'avez plus besoin de 'buffer2'. BTW, il me semble que vous avez oublié la gestion de la mémoire, pas d'appels gratuits () ou release () ...DANS SWIFT
la source
Voir cet article, il semble que vous pouvez utiliser UIGetScreenImage () pour le moment.
la source
À partir d'iOS10, cela devient un peu plus simple. UIKit est livré avec
UIGraphicsImageRender
qui vous permet deDocuments Apple - UIGraphicsImageRenderer
Vous pouvez donc maintenant faire quelque chose comme ceci:
Beaucoup de réponses ici ont fonctionné pour moi dans la plupart des cas. Mais en essayant de prendre un instantané d'un
ARSCNView
, je n'ai pu le faire qu'en utilisant la méthode décrite ci-dessus. Bien qu'il puisse être intéressant de noter qu'à l'heure actuelle, ARKit est toujours en version bêta et Xcode est en version bêta 4la source
Cela enregistrera une capture d'écran et retournera également la capture d'écran.
la source
Je pense que l'extrait de code suivant vous aiderait si vous souhaitez prendre un plein écran (à l' exception de la barre d'état ), remplacez simplement AppDelegate par le nom de votre délégué d'application si nécessaire.
la source
Je n'ai pas trouvé de réponse avec la mise en œuvre de Swift 3. Alors voilà.
la source
Pour iOS 7.0 ou supérieur.
Si vous souhaitez prendre des captures d'écran de la vue, disons (myView), vous pouvez le faire avec une seule ligne:
la source
Cela fonctionnera avec swift 4.2 , la capture d'écran sera enregistrée dans la bibliothèque, mais n'oubliez pas de modifier le
info.plist @ NSPhotoLibraryAddUsageDescription
:la source
Obtenir une capture d'écran à partir de la vue
Enregistrer l'image dans les photos
Comment
la source
Obtenir une capture d'écran de la vue:
J'espère que c'est ce que vous recherchez. Toute inquiétude me revient. :)
la source
Je réponds à cette question car c'est très apprécié, et il y a beaucoup de réponses là-bas, plus il y a Swift et Obj-C.
Avertissement Ce n'est pas mon code, ni mes réponses, c'est uniquement pour aider les gens qui débarquent ici à trouver une réponse rapide. Il y a des liens vers les réponses originales pour donner du crédit là où le crédit est dû !! Veuillez honorer les réponses originales avec un +1 si vous utilisez leur réponse!
En utilisant
QuartzCore
Dans Swift
Remarque: en raison de la nature de la programmation, des mises à jour peuvent être nécessaires, veuillez donc les modifier ou me le faire savoir! * Aussi si je n'ai pas inclus de réponse / méthode qui vaut la peine d'être incluse, n'hésitez pas à me le faire savoir également!
la source
Une autre option consiste à utiliser l'outil d'automatisation sur les instruments. Vous écrivez un script pour mettre l'écran dans ce que vous voulez, puis prenez les photos. Voici le script que j'ai utilisé pour l'une de mes applications. Évidemment, les détails du script seront différents pour votre application.
la source
Deux options disponibles sur le site ci-dessous:
OPTION 1: utilisation d'UIWindow (essayé et fonctionne parfaitement)
OPTION 2: utiliser UIView
Pour l'écran de la rétine (comme réponse DenNukem)
pour plus de détails: http://pinkstone.co.uk/how-to-take-a-screeshot-in-ios-programmatically/
la source
Juste une petite contribution, je l'ai fait avec un bouton mais le fait d'appuyer signifie également que le bouton est capturé enfoncé. Alors d'abord, je désélectionne.
J'ai obtenu le corps principal du code sur: http://pinkstone.co.uk/how-to-take-a-screeshot-in-ios-programmatically/ où j'ai utilisé l'option 1, l'option 2 ne semblait pas fonctionner pour moi. Ajout des ajustements pour les tailles d'écran Rentina à partir de ce fil, et la désactivation du screenShotButton. La vue sur laquelle je l'utilise est un écran StoryBoarded de boutons et d'étiquettes et avec plusieurs UIView ajoutés ultérieurement via le programme.
la source
Dans Swift, vous pouvez utiliser le code suivant.
la source
Swift 4:
la source