Saya ingin tangkapan layar gambar di layar disimpan ke perpustakaan foto yang disimpan.
ios
iphone
screenshot
Tusukan
sumber
sumber
Metode di bawah ini berfungsi untuk objek OPENGL juga
sumber
UIGetScreenImage
adalah API pribadisumber
Sumber .
sumber
UIImage *myImage = [[UIImage alloc] initWithCGImage:imageRef scale:1.0 orientation:UIImageOrientationDownMirrored];
dan Anda tidak perlu 'buffer2' lagi. BTW bagi saya sepertinya Anda lupa tentang manajemen memori, tidak ada panggilan gratis () atau rilis () ...DALAM SWIFT
sumber
Lihat ini posting sepertinya Anda dapat menggunakan UIGetScreenImage () untuk saat ini.
sumber
Pada iOS10, ini menjadi sedikit lebih sederhana. UIKit hadir dengan
UIGraphicsImageRender
yang memungkinkan Anda untuk melakukannyaApple Docs - UIGraphicsImageRenderer
Jadi sekarang Anda dapat melakukan sesuatu seperti ini:
Banyak jawaban di sini bekerja untuk saya dalam banyak kasus. Tetapi ketika mencoba mengambil snapshot dari
ARSCNView
, saya hanya dapat melakukannya menggunakan metode yang dijelaskan di atas. Meskipun mungkin perlu dicatat bahwa saat ini, ARKit masih dalam versi beta dan Xcode dalam versi beta 4sumber
Ini akan menyimpan tangkapan layar dan mengembalikan tangkapan layar juga.
sumber
Saya pikir cuplikan berikut ini akan membantu jika Anda ingin mengambil layar penuh ( kecuali untuk status bar ), cukup ganti AppDelegate dengan nama delegasi aplikasi Anda jika perlu.
sumber
Saya tidak dapat menemukan jawaban dengan implementasi Swift 3. Jadi begini.
sumber
Untuk iOS 7.0 atau lebih tinggi ..
Jika Anda ingin mengambil tangkapan layar tampilan say (myView), Anda dapat melakukan ini dengan satu baris:
sumber
Ini akan berfungsi dengan cepat 4.2 , tangkapan layar akan disimpan di perpustakaan, tapi jangan lupa untuk mengedit
info.plist @ NSPhotoLibraryAddUsageDescription
:sumber
Dapatkan Screenshot Dari Lihat
Simpan Gambar ke Foto
Bagaimana-Untuk
sumber
Dapatkan Screenshot Dari Tampilan:
Harapan, inilah yang Anda cari. Kekhawatiran kembali ke saya. :)
sumber
Saya menjawab pertanyaan ini karena sangat dilihat, dan ada banyak jawaban di luar sana plus ada Swift dan Obj-C.
Penafian Ini bukan kode saya, atau jawaban saya, ini hanya untuk membantu orang yang mendarat di sini menemukan jawaban cepat. Ada tautan ke jawaban asli untuk memberikan kredit di mana kredit jatuh tempo !! Harap hormati jawaban asli dengan +1 jika Anda menggunakan jawaban mereka!
Menggunakan
QuartzCore
Dalam Swift
Catatan: Karena sifatnya dengan pemrograman, pembaruan mungkin perlu dilakukan, harap edit atau beri tahu saya! * Juga jika saya gagal memasukkan jawaban / metode yang berharga termasuk merasa bebas untuk memberi tahu saya juga!
sumber
Pilihan lain adalah menggunakan alat Otomasi pada instrumen. Anda menulis skrip untuk menempatkan layar ke dalam apa pun yang Anda inginkan, kemudian mengambil gambar. Berikut ini skrip yang saya gunakan untuk salah satu aplikasi saya. Jelas, detail skrip akan berbeda untuk aplikasi Anda.
sumber
Dua opsi tersedia di situs di bawah ini:
OPSI 1: menggunakan UIWindow (dicoba dan bekerja dengan sempurna)
OPSI 2: menggunakan UIView
Untuk layar retina (seperti jawaban DenNukem)
untuk detail lebih lanjut: http://pinkstone.co.uk/how-to-take-a-screeshot-in-ios-programmatically/
sumber
Hanya sedikit kontribusi, saya sudah melakukan ini dengan tombol tetapi menekan juga berarti tombol ditangkap ditekan. Jadi pertama-tama saya membuka sorotan.
Saya mendapatkan kode utama dari: http://pinkstone.co.uk/how-to-take-a-screeshot-in-ios-programmatically/ di mana saya menggunakan opsi 1, opsi 2 sepertinya tidak berfungsi untuk saya. Menambahkan penyesuaian untuk ukuran layar Rentina dari utas ini, dan tidak menyoroti ScreenShotButton. Pandangan saya menggunakannya adalah layar StoryBoarded tombol dan label dan dengan beberapa UIView ditambahkan kemudian melalui program.
sumber
Di Swift Anda dapat menggunakan kode berikut.
sumber
Swift 4:
sumber