Получение высококачественных (300 точек на дюйм) снимков экрана приложения на базе QT в Linux - PullRequest
1 голос
/ 22 февраля 2010

Мне нужно сделать скриншот моей формы, созданной в дизайнере QT. Существует множество подходов к созданию снимков экрана (gimp, import и т. Д.), Но все они работают с тем же dpi, что и на моем мониторе (около 100 dpi). Этого вполне достаточно для публикации на веб-сайте, но для публикации на бумаге требуются изображения с разрешением 300 точек на дюйм. Есть ли способы создания скриншотов с разрешением 300 точек на дюйм?

Ответы [ 5 ]

2 голосов
/ 23 февраля 2010

Я не думаю, что требование 300 dpi для публикации относится к таким вещам, как скриншоты, где данные по сути являются пиксельными. Он предназначен для таких вещей, как графики, которые можно и нужно генерировать в векторном формате.

Просто получите наилучшие результаты и используйте скриншоты только для абсолютно необходимых вещей, а не, например, для ввода-вывода из командной строки или для графиков результатов.

Если окончательные изображения отображаются сглаженными и размытыми, либо найдите параметры в вашем PDF-редакторе, чтобы предотвратить это, либо вручную увеличьте изображение до значения, кратного его первоначальному размеру, чтобы сохранить исходную резкую пикселизацию.

1 голос
/ 23 февраля 2010

Покраска может быть выполнена на любом QPaintDevice, который включает QPrinter. Если вы хотите, вы можете настроить перенаправление рисования на определенное устройство, а затем перекрасить виджет. Это может дать вам более высокую точность, которую вы желаете. Для получения дополнительной информации посмотрите на сайте Qt обзор системы рисования, а также, возможно, посмотрите на функции QPixmap::grabWidget.

1 голос
/ 22 февраля 2010

Нельзя сделать снимок экрана в лучшем разрешении, чем у вашего монитора. DPI не имеет смысла на дисплее компьютера. Некоторые программы конвертируют пиксель на точку (ppp) в точку на дюйм (dpi) для публикации на бумаге. После того, как вы сделали свои скриншоты, вы можете конвертировать их в 300 точек на дюйм, используя программное обеспечение, такое как Photoshop или эквивалентное.

0 голосов
/ 27 апреля 2016

Вы можете заставить свой экран вести себя как дисплей 4K с помощью команды:

xrandr --output eDP1 --rate 40.01 --mode 1366x768 --fb 4096x3072 --panning 4096x3072

запомните, чтобы соответствовать полям rate и mode , как указано в конфигурации xrandr по умолчанию. Вы можете видеть это с xrandr

, а затем получить скриншот с

import -window root imagefile.png
0 голосов
/ 22 февраля 2010

Вы не можете иметь больше пикселей на скриншоте, чем отображает ваш виджет.

Для заданного размера виджета (скажем, 900x900px) ваше изображение может быть напечатано с разрешением 300 точек на дюйм, но на бумаге будет только 3-дюймовый квадрат.

...