Мне нужно сделать несколько скриншотов окна приложения. Разрешение моего ноутбука низкое, и я хотел бы получать изображения высокого качества.
Есть ли способ захватить экран как векторную графику (например, EPS, PDF, SVG)? Альтернативно, есть ли способ сделать скриншот с более высоким разрешением, чем у родного?
Мое собственное разрешение - 1366x768, хотя мне нужно разрешение не менее 4000x3000.
Ответы:
Конечно! Да, вы можете сделать это. Вам понадобится механизм рендеринга пользовательского интерфейса с векторным бэкэндом. Gtk + 3+ имеет этот бэкэнд. Пожалуйста, посмотрите этот проект:
Но вы должны знать, что приложение должно быть в состоянии работать в Linux с помощью Gtk +. Может быть, вы можете создать макеты либо с помощью этого метода, либо с помощью Microsoft Visio для векторного вывода.
Смотрите эти образцы:
Если вы пользователь Debian / Ubuntu, для установки вы можете просто сделать
И тогда вам нужно только выбрать, какое приложение вы хотите сделать скриншот с помощью мыши. Конечно, приложение должно быть Gtk + 3 для успешного векторного скриншота. Результатом будет файл PDF в текущем рабочем каталоге.
PS: Хорошая новость: Firefox 42 будет использовать Gtk + 3 .
источник
Захватить как вектор? Нет, конечно нет. У программы захвата нет возможности узнать что-либо о геометрии фигур на экране, не имея какой-то привязки к программе (-ам), выполняющим рисование.
Однако вы можете сделать снимок растра и затем преобразовать его в вектор . Существуют такие инструменты, как Inkscape, которые могут выполнять это преобразование (хотя обычно вам придется вручную вносить некоторые изменения, и даже тогда вы редко сможете получить идеальные по пикселям результаты).
Что касается разрешения, то при выполнении захвата оно не может захватить больше информации, чем доступно. Вы можете изменить размер получающегося изображения, и если вы используете хороший алгоритм масштабирования, интерполированные пиксели будут смешиваться довольно хорошо, но нет способа изобрести больше информации о пикселях, чем есть.
Теоретически можно было бы реализовать какую-то систему, в которой все отображается внутри с более высоким разрешением, а затем отправляется на экран с меньшим разрешением, но для этого потребуется специальная поддержка как в ОС, так и в накопителе. вряд ли будет реализовано, так как оно имеет очень ограниченное использование и будет тратить память только в большинстве сценариев.
Возможно, вы сможете использовать панорамирование рабочего стола, чтобы получить рабочий стол с более высоким разрешением, чем экран, но опять же, это требует, чтобы ваши драйверы поддерживали его.
источник
Не в настоящее время . Это должно быть возможно, но это не так.
Windows, так как Vista использует Windows Presentation Foundation
OS X использует Display Postscript.
Оба являются нативными векторными пользовательскими интерфейсами, но также позволяют использовать растровые изображения - это отлично подходит для SVG. Однако, хотя существуют инструменты для экспорта WPF в SVG , большинство из них предназначены для разработчиков программного обеспечения. Например, вам понадобится исходный код XAML вашего приложения, а затем экспортируйте его в SVG.
источник
Для пользователей UNIX вы можете использовать KSnapShot или GIMP. Более подробная информация приведена на графическом экране.
Чтобы установить KSnapShot, вы можете использовать эту ссылку KSnapShot
GIMP также доступен для Windows.
источник