Bisakah saya mengambil tangkapan layar sebagai grafik vektor atau pada resolusi yang lebih tinggi dari aslinya?

32

Saya perlu mengambil beberapa tangkapan layar dari jendela aplikasi. Resolusi laptop saya rendah, dan saya ingin mendapatkan gambar berkualitas tinggi.

Apakah ada cara untuk mengambil layar sebagai grafik vektor (mis. EPS, PDF, SVG)? Atau, apakah ada cara untuk mengambil tangkapan layar dengan resolusi lebih tinggi dari yang asli?

Resolusi asli saya adalah 1366x768, sementara saya membutuhkan setidaknya resolusi hampir 4000x3000.

Alfatau
sumber
Saya berasumsi Windows untuk pertanyaan Anda. Harap edit dan retag jika itu tidak terjadi.
slhck
> Anda bisa mencoba melihat ke skala UI. Itu tidak mengubah jumlah total piksel yang diberikan ke layar atau tersedia untuk ditangkap.
Synetech
1
Ini sepertinya sangat membingungkan. Katakanlah Anda memiliki layar 10k kali 10k; menurut Anda bagaimana sebenarnya jendela aplikasi akan terlihat berbeda? Haruskah itu mengandung lebih banyak item, atau Anda ingin memiliki lebih banyak detail dalam item yang sama? Apakah itu aplikasi win32 asli atau beberapa toolkit lain seperti Qt, Java atau bahkan jendela OpenGL atau DirectX?
Eroen
2
Idenya berbeda. Saya tahu saya tidak dapat membuat piksel yang tidak dimiliki layar. Saya sedang mencari alat peningkatan resolusi layar "virtual", sehingga saya bisa mengatur resolusi apa pun dan jika itu lebih tinggi dari kemampuan tampilan, saya harus menggulir tampilan layar setiap kali hanya sebagian, dan mampu mencetak layar virtual ke gambar alih-alih bagian layar virtual aktual yang dilihat.
Alfatau

Jawaban:

21

Tentu saja! Ya, Anda bisa melakukannya. Anda akan memerlukan mesin rendering UI yang memiliki backend vektor. Gtk + 3+ memiliki backend itu. Silakan lihat proyek ini:

Tetapi Anda harus tahu aplikasi tersebut harus dapat berjalan di Linux menggunakan Gtk +. Mungkin Anda dapat membuat mockup dengan metode ini, atau menggunakan Microsoft Visio untuk mendapatkan keluaran vektor.

Lihat contoh-contoh ini:

Jika Anda adalah pengguna Debian / Ubuntu, untuk instalasi Anda cukup melakukannya

$ sudo apt-get install gtk-vector-screenshot
$ take-vector-screenshot

Dan kemudian Anda hanya perlu memilih aplikasi apa yang ingin Anda ambil tangkapan layar dengan mouse Anda. Saat ini, aplikasi harus berupa Gtk + 3 untuk tangkapan layar vektor yang berhasil. Hasilnya akan berupa file PDF di direktori kerja saat ini.

take-vector-screenshot aplikasi

PS: Berita bagus: Firefox 42 akan menggunakan Gtk + 3 .

Ho1
sumber
1
Bagus! Meskipun pertanyaan ini ditandai Windows, ini masih merupakan jawaban yang sangat berguna bagi pengunjung masa depan yang menemukan pertanyaan ini.
Arjan
1
Terima kasih, sebenarnya tag itu bukan dari orang yang mengajukan pertanyaan. Sebenarnya, ini adalah proses yang rumit, tetapi dengan Metro dan Retina, mungkin ini / akan dimungkinkan pada Win / Mac. Itu layak penelitian yang bagus.
Ho1
@ Ho1, dari pencarian online, tampaknya OS X dapat memperoleh tangkapan layar PDF: idownloadblog.com/2014/07/31/...
Andrea Lazzarotto
@AndreaLazzarotto Terima kasih. Tetapi apakah itu vektor? Saya tidak dapat menemukan tautan unduhan. Jika Anda memiliki Mac, bisakah Anda membuat screenshot PDF sendiri? Kami memiliki beberapa diskusi di sini tentang screenshot vektor Mac, di sini: apple.stackexchange.com/a/144596/90089
Ho1
1
Saya dapat membuat tangkapan layar dari program lain, tetapi jika saya menggantinya dengan Firefox, dibutuhkan tangkapan layar tetapi tangkapan layarnya benar-benar kosong. Bekerja di Ubuntu Gnome. Mengambil tangkapan layar Midori atau Chromium tidak berfungsi tanpa pesan kesalahan atau pembukaan jendela apa pun ...
nnn
10

Tangkap sebagai vektor? Tidak, tentu saja tidak. Tidak ada cara bagi program penangkapan untuk mengetahui apa pun tentang geometri bentuk-bentuk di layar tanpa memiliki semacam pengait ke dalam program yang melakukan gambar.

Apa yang dapat Anda lakukan adalah mengambil gambar raster dan kemudian mengubahnya menjadi vektor . Ada alat seperti Inkscape yang dapat melakukan konversi ini (meskipun Anda biasanya harus secara manual melakukan tweaking, dan bahkan kemudian, Anda jarang akan bisa mendapatkan hasil pixel-sempurna).

Adapun resolusi, ketika Anda melakukan penangkapan, itu tidak dapat menangkap informasi lebih banyak daripada yang tersedia. Anda dapat mengubah ukuran gambar yang dihasilkan naik, dan jika Anda menggunakan algoritma penskalaan yang baik, piksel yang diinterpolasi akan berbaur dengan cukup baik, tetapi tidak ada cara untuk menciptakan lebih banyak informasi piksel daripada yang ada.

Secara teoritis, mungkin saja untuk mengimplementasikan semacam sistem di mana semuanya dirender secara internal pada resolusi yang lebih tinggi dan kemudian mengirimkannya ke layar dengan resolusi yang lebih rendah, tetapi itu akan memerlukan dukungan khusus di OS dan drive, dan merupakan tidak mungkin diimplementasikan karena penggunaannya sangat terbatas dan hanya akan membuang-buang memori di sebagian besar skenario.

Anda mungkin dapat menggunakan panning desktop untuk mencapai desktop resolusi yang lebih tinggi daripada yang didukung layar, tetapi sekali lagi, itu mengharuskan driver Anda mendukungnya.

Synetech
sumber
1
Dengan asumsi jendela memiliki palet warna kecil dan cukup sederhana, ada en.wikipedia.org/wiki/Pixel_art_scaling_algorithms yang mungkin berguna.
Eroen
@ hit-and-run-down-voter, apa (jika ada) masalah Anda? Orang lain sepertinya menyukai jawabannya, jadi saya tidak bisa mengatasi masalah yang mungkin atau mungkin tidak Anda miliki jika Anda tidak mau meninggalkan komentar.
Synetech
1
Anda salah - sebagian besar elemen GUI sangat berbasis vektor, termasuk gradien. Tetapi - kerangka kerja OS dan dan GUI arus utama menyediakan API pendengar eksternal untuk pengambil layar, dan ini adalah masalah besar, tetapi tidak ada program penangkapan yang diketahui mendukung hal ini. Misalnya, Anda dapat melihat pada klien Windows Inspect biasa: ia dapat mengambil semua acara UI, dan Anda dapat membuat alat Anda sendiri yang akan membuat acara ini menjadi screenshot vektor.
Dmitry Ponyatov
Tetapi untuk aplikasi penangkapan vektor nyata, Anda harus menyertakan modul OCR & tracing sebagai fallback - banyak program menggunakan bitmap yang sudah dikomputasi, dan ini adalah masalah besar lainnya (yang terinspirasi oleh pemasaran).
Dmitry Ponyatov
0

Tidak saat ini . Ini harus dimungkinkan tetapi tidak.

Keduanya adalah vektor UI asli, tetapi memungkinkan bitmap untuk digunakan juga - ini sangat cocok untuk SVG. Namun sementara alat untuk mengekspor WPF ke SVG ada , sebagian besar ditujukan untuk pengembang perangkat lunak. Misalnya, Anda memerlukan sumber XAML dari aplikasi Anda kemudian mengekspornya ke SVG.

mikemaccana
sumber
-1

Untuk pengguna UNIX, Anda dapat menggunakan KSnapShot atau GIMP. Lebih detail diberikan di layar grafis

Untuk menginstal KSnapShot, Anda dapat menggunakan tautan ini KSnapShot

GIMP juga tersedia untuk Windows.

Maulik Madhavi
sumber
Ini tampaknya hanya alat snapshot biasa, tidak ada yang dikatakan tentang grafik vektor atau resolusi lebih tinggi dari pada layar. Apakah ada yang salah?
TS