Я хочу, чтобы скриншот изображения на экране сохранялся в сохраненной библиотеке фотографий.
ios
iphone
screenshot
прививка
источник
источник
Метод ниже работает и для объектов OPENGL
источник
UIGetScreenImage
это частный APIисточник
Источник .
источник
UIImage *myImage = [[UIImage alloc] initWithCGImage:imageRef scale:1.0 orientation:UIImageOrientationDownMirrored];
и вам больше не нужен «buffer2». Кстати, мне кажется, что вы забыли об управлении памятью, об отсутствии вызовов free () или release () ...В SWIFT
источник
Посмотрите этот пост, похоже, вы можете использовать UIGetScreenImage () сейчас.
источник
Начиная с iOS10, это становится немного проще. UIKit поставляется с тем,
UIGraphicsImageRender
что позволяетДокументы Apple - UIGraphicsImageRenderer
Теперь вы можете сделать что-то вроде этого:
Многие из ответов здесь работали для меня в большинстве случаев. Но при попытке сделать снимок
ARSCNView
я смог сделать это только с помощью метода, описанного выше. Хотя, возможно, стоит отметить, что в настоящее время ARKit все еще находится в бета-версии, а Xcode - в бета-версии 4.источник
Это сохранит скриншот, а также вернет скриншот.
источник
Я думаю, что следующий фрагмент поможет, если вы хотите использовать полноэкранный режим ( кроме строки состояния ), просто замените AppDelegate на имя вашего делегата приложения, если это необходимо.
источник
Я не мог найти ответ с реализацией Swift 3. Так что вот так.
источник
Для iOS 7.0 или выше ..
Если вы хотите сделать снимки экрана, скажем (myView), вы можете сделать это одной строкой:
источник
Это будет работать с swift 4.2 , скриншот будет сохранен в библиотеке, но, пожалуйста, не забудьте отредактировать
info.plist @ NSPhotoLibraryAddUsageDescription
:источник
Получить скриншот из вида
Сохранить изображение в фотографии
Как
источник
Получить скриншот из вида:
Надеюсь, это то, что вы ищете. Любое беспокойство вернуться ко мне. :)
источник
Я отвечаю на этот вопрос, так как он очень популярен, и есть много ответов, плюс есть Swift и Obj-C.
Отказ от ответственности Это не мой кодекс и не мои ответы, это только для того, чтобы помочь людям, находящимся здесь, найти быстрый ответ. Есть ссылки на оригинальные ответы, чтобы дать кредит, где кредит должен! Пожалуйста, отметьте оригинальные ответы +1, если вы используете их ответ!
С помощью
QuartzCore
В Свифте
Примечание: Как и в случае с программированием, обновления могут потребоваться, поэтому, пожалуйста, отредактируйте или дайте мне знать! * Кроме того, если я не смог включить ответ / метод, который стоит включить, не стесняйтесь, дайте мне знать!
источник
Другой вариант - использовать инструмент автоматизации на инструментах. Вы пишете сценарий, чтобы поместить экран в нужное вам состояние, а затем сделать снимки. Вот скрипт, который я использовал для одного из моих приложений. Очевидно, что детали сценария будут отличаться для вашего приложения.
источник
Два варианта доступны на сайте ниже:
ВАРИАНТ 1: использование UIWindow (пробовал и работает отлично)
ВАРИАНТ 2: использование UIView
Для экрана сетчатки (как ответ DenNukem)
для более подробной информации: http://pinkstone.co.uk/how-to-take-a-screeshot-in-ios-programmatics/
источник
Просто небольшой вклад, я сделал это с помощью кнопки, но нажатие также означает, что кнопка будет нажата. Итак, сначала я ничего не замечу.
Я получил основную часть кода по адресу : http://pinkstone.co.uk/how-to-take-a-screeshot-in-ios-programmatics/, где я использовал вариант 1, вариант 2, похоже, не работал для меня. Добавлены настройки для размеров экрана Rentina из этой темы, а также выделение screenShotButton. Представление, на котором я его использую, представляет собой StoryBoarded экран с кнопками и метками, и несколько UIView добавлены позже через программу.
источник
В Swift вы можете использовать следующий код.
источник
Свифт 4:
источник