Quero uma captura de tela da imagem na tela salva na biblioteca de fotos salva.
ios
iphone
screenshot
Jab
fonte
fonte
O método abaixo também funciona para objetos OPENGL
fonte
UIGetScreenImage
é uma API privadafonte
Fonte .
fonte
UIImage *myImage = [[UIImage alloc] initWithCGImage:imageRef scale:1.0 orientation:UIImageOrientationDownMirrored];
e você não precisa mais de 'buffer2'. BTW, parece-me que você se esqueceu de gerenciamento de memória, não livre () ou release () chamadas ...EM SWIFT
fonte
Veja este post, parece que você pode usar UIGetScreenImage () por enquanto.
fonte
A partir do iOS10, isso fica um pouco mais simples. O UIKit vem com o
UIGraphicsImageRender
que permiteApple Docs - UIGraphicsImageRenderer
Agora você pode fazer algo assim:
Muitas das respostas aqui funcionaram para mim na maioria dos casos. Mas, ao tentar tirar um instantâneo de um
ARSCNView
, só consegui fazê-lo usando o método descrito acima. Embora possa valer a pena notar que, no momento, o ARKit ainda está na versão beta e o Xcode está na versão 4fonte
Isso salvará uma captura de tela e também a devolverá.
fonte
Acho que o seguinte snippet ajudaria se você quiser fazer uma tela cheia ( exceto a barra de status ), basta substituir AppDelegate pelo nome do delegado do aplicativo, se necessário.
fonte
Não consegui encontrar uma resposta com a implementação do Swift 3. Então aqui vai.
fonte
Para iOS 7.0 ou superior ..
Se você quiser capturar imagens da tela, digamos (myView), faça isso com uma única linha:
fonte
Isso funcionará com o Swift 4.2 , a captura de tela será salva na biblioteca, mas não se esqueça de editar o
info.plist @ NSPhotoLibraryAddUsageDescription
:fonte
Obter captura de tela da exibição
Salvar imagem nas fotos
Como
fonte
Obter captura de tela da exibição:
Espero que seja isso que você está procurando. Qualquer preocupação volte para mim. :)
fonte
Estou respondendo a essa pergunta, pois ela é altamente visualizada, e há muitas respostas por aí, além de Swift e Obj-C.
Isenção de responsabilidade Este não é o meu código, nem minhas respostas, é apenas para ajudar as pessoas que chegam aqui a encontrar uma resposta rápida. Existem links para as respostas originais para dar crédito onde o crédito é devido !! Honre as respostas originais com +1 se você usar a resposta!
Usando
QuartzCore
Na Swift
Nota: Como a natureza da programação, as atualizações podem precisar ser feitas, por isso edite ou me avise! * Além disso, se eu não incluir uma resposta / método que valha a pena incluir, sinta-se à vontade para me informar também!
fonte
Outra opção é usar a ferramenta Automação em instrumentos. Você escreve um script para colocar a tela no estado que deseja e depois tira as fotos. Aqui está o script que usei para um dos meus aplicativos. Obviamente, os detalhes do script serão diferentes para o seu aplicativo.
fonte
Duas opções disponíveis no site abaixo:
OPÇÃO 1: usando o UIWindow (testado e funcionando perfeitamente)
OPÇÃO 2: usando UIView
Para tela retina (como resposta DenNukem)
para obter mais detalhes: http://pinkstone.co.uk/how-to-take-a-screeshot-in-ios-programmatically/
fonte
Apenas uma pequena contribuição, eu fiz isso com um botão, mas pressionar também significa que o botão é capturado pressionado. Então, primeiro eu não destaque.
Eu obtive o corpo principal do código em: http://pinkstone.co.uk/how-to-take-a-screeshot-in-ios-programmatically/ onde usei a opção 1, a opção 2 parecia não funcionar para mim. Foram adicionados os ajustes para os tamanhos de tela da Rentina a partir deste segmento e o destaque do screenShotButton. A visualização em que estou usando é uma tela de botões e etiquetas do StoryBoard e com vários UIView adicionados posteriormente através do programa.
fonte
No Swift, você pode usar o seguinte código.
fonte
Swift 4:
fonte