Чи можна зробити знімок екрана як векторну графіку або з більш високою роздільною здатністю, ніж рідний?


29

Мені потрібно зробити скріншоти вікна програми. Моя роздільна здатність ноутбука низька, і я хочу отримати якісні зображення.

Чи є спосіб захопити екран як векторну графіку (наприклад, EPS, PDF, SVG)? Крім того, чи є спосіб зробити знімок екрана з високою роздільною здатністю, ніж рідний?

Моя рідна роздільна здатність 1366x768, тоді як мені потрібно щонайменше роздільна здатність майже 4000x3000.



Я припустив, що Windows відповідає вашому запиту. Будь ласка редагувати і повторіть, якщо це не так.
slhck

& gt; Ви можете спробувати вивчити масштабування інтерфейсу користувача. Це не змінює загальну кількість пікселів, які відображаються на екрані або доступні для зйомки.
Synetech

1
Це здається дуже заплутаним. Припустимо, у вас було 10k на 10k дисплей; як, на вашу думку, вікно програми має виглядати інакше? Якщо він містить більше елементів, або ви бажаєте, щоб у них було більше деталей? Це рідна програма win32 або інший інструментарій, як Qt, Java або навіть OpenGL або DirectX?
Eroen

2
Ідея була іншою. Я знаю, що не можу створити пікселі, які дисплей не має. Я шукав "віртуальний" інструмент підвищення роздільної здатності дисплея, такий, що я можу практично встановити будь-яку роздільну здатність, і якщо він вище, ніж можливості дисплея, мені доведеться прокручувати екран, переглядаючи кожен раз тільки його частину, і будучи в змозі друкувати віртуальний екран для зображення замість фактичного піднабору віртуального екрана, який переглядається.
Alfatau

Відповіді:


20

Звичайно! Так, ви можете це зробити. Вам знадобиться механізм візуалізації інтерфейсу користувача, який має векторний сервер. Gtk + 3+ має цей сервер. Перегляньте цей проект:

Але ви повинні знати, що програма повинна працювати на Linux за допомогою Gtk +. Можливо, ви можете створити макети або за допомогою цього методу, або за допомогою Microsoft Visio для отримання векторного виводу.

Перегляньте ці зразки:

Якщо ви є користувачем Debian / Ubuntu, для встановлення ви можете просто зробити це

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

І тоді вам потрібно лише вибрати, яку програму ви хочете зробити скріншотом за допомогою миші. Насправді, програма повинна бути Gtk + 3 для успішного скріншота вектора. Результатом буде файл PDF у поточному робочому каталозі.

take-vector-screenshot application

PS: Гарні новини: Firefox 42 буде використовувати Gtk + 3 .


1
Приємно! Незважаючи на те, що питання позначається як Windows, це ще дуже корисна відповідь для майбутніх відвідувачів, які знаходять це питання.
Arjan

1
Спасибі, насправді, що тег не від хлопця, який задав питання. Насправді, це якось складний процес, але з Metro і Retina, можливо, це / буде можливо на Win / Mac. Це заслуговує хорошого дослідження.
Ho1

@ Ho1, з онлайн-пошуку, здається, що OS X може придбати скріншоти PDF: idownloadblog.com/2014/07/31/…
Andrea Lazzarotto

@AndreaLazzarotto Дякуємо. Але це вектор? Я не міг знайти посилання для завантаження. Якщо у вас Mac, ви можете створити скріншот PDF самостійно? Ми мали деякі дискусії тут про векторні скріншоти Mac, тут: apple.stackexchange.com/a/144596/90089
Ho1

1
Я можу робити скріншоти інших програм, але якщо я переглядаю його з Firefox, це знімок, але скріншот повністю порожній. Працюючи над Ubuntu Gnome. Знімки екранів Midori або Chromium не працюють без повідомлення про помилку чи відкриття вікна ...
nnn

10

Захоплення як вектор? Ні, звичайно, ні. Програма захоплення не може нічого знати про геометрію фігур на екрані, не маючи при цьому жодної гачки в програмі, що виконує креслення.

Однак ви можете зробити захоплення растрового зображення, а потім перетворити на вектор . Є такі інструменти, як Inkscape які можуть виконувати це перетворення (хоча ви, як правило, повинні вручну робити деякі налаштування, і навіть тоді, ви рідко зможете отримати ідеальні результати для пікселів).

Що стосується роздільної здатності, коли ви виконуєте захоплення, вона не може зафіксувати більше інформації, ніж доступна. Ви можете змінити розмір отриманого зображення вгору, і якщо ви використовуєте хороший алгоритм масштабування, то інтерпольовані пікселі будуть поєднуватися досить добре, але немає жодного способу винаходити більше піксельної інформації, ніж присутні.

Теоретично, можна було б реалізувати певну систему, в якій все виводиться всередину з більш високою роздільною здатністю, а потім відправляти її на екран меншим, але це потребуватиме спеціальної підтримки як в ОС, так і в диску, і це навряд чи буде реалізовано, оскільки воно має дуже обмежене використання і буде марною пам'яттю лише в більшості сценаріїв.

Ви можете використовувати настільне панорамування для досягнення більш високого дозволу на робочому столі, ніж на екрані, але знову ж таки, це вимагає, щоб ваші драйвери підтримували його.


1
Припускаючи, що вікно має невелику колірну палітру і досить просте, є en.wikipedia.org/wiki/Pixel_art_scaling_algorithms це може бути корисним.
Eroen

@ hit-and-run-down-voter, що (якщо взагалі) є вашим питанням? Інші, схоже, люблять відповідь, тому я не можу вирішувати будь-які проблеми, які ви можете мати, а може і не мати, якщо ви не залишите коментаря.
Synetech

1
Ви помиляєтеся - більшість елементів графічного інтерфейсу є виключно векторними, включаючи градієнти. Але - основні операційні системи та графічні інтерфейси забезпечують API зовнішніх слухачів для захоплення екранів, і це велика проблема, але ніякі відомі програми захоплення підтримують це. Наприклад, ви можете дивитися на звичайного клієнта Windows Inspect: він може захопити всі події інтерфейсу користувача, і ви можете створити свій власний інструмент, який буде перетворювати ці події на векторний знімок екрана.
Dmitry Ponyatov

Але для реального застосування векторного захоплення необхідно включити OCR & amp; відстеження модулів як резервного - багато програм використовують попередньо обчислені растрові зображення, і це інша (маркетингова) велика проблема.
Dmitry Ponyatov

0

Наразі немає . Це має бути можливим, але це не так.

Обидва є власними векторними інтерфейсами, але дозволяють використовувати і растрові зображення - це відмінно підходить для SVG. Однак поки існують інструменти для експорту WPF до SVG , більшість з них спрямовані на розробників програмного забезпечення. Наприклад, вам знадобиться джерело XAML вашої програми, а потім експортувати її в SVG.


0

Для користувачів UNIX можна використовувати або KSnapShot, або GIMP. Більш детальна інформація наведена в графічний екран

Щоб встановити KSnapShot, ви можете скористатися цим посиланням KSnapShot

GIMP також доступний для Windows.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.