36

Я хочу сделать снимок экрана из окна, которое больше, чем размер экрана.

Если я уменьшу изображение в окне и сделаю снимок экрана, я потеряю качество, поскольку увеличение изображения не будет работать.

В этом мне поможет большой монитор, но у меня его нет.

Я использую Цзин, но он позволяет мне только сфотографировать то, что видно на экране, и игнорирует все остальное.

Есть ли способ сделать скриншоты того, что находится за пределами экрана?

12 ответов12

25

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

Он может захватывать объекты, то есть содержимое в окнах с полосами прокрутки (горизонтальной и вертикальной), отдельными элементами управления программой и т.д.

Он достаточно мощный, но может потребоваться некоторая настройка параметров, чтобы получить то, что вы хотите, и, следовательно, кривую обучения.

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

Вот пример захвата прокручиваемого окна Windows Explorer (нажмите для просмотра в полном размере): Скроллинг захвата окна

9

Нет ничего "за пределами экрана", в основном потому, что приложения не будут его рисовать.

Лучше всего передвигаться по изображению и использовать Photoshop (или ваш любимый редактор изображений), чтобы сшить кусочки вместе.

По крайней мере, так в Windows; Вы не говорите, какое у вас "окно", и как вы можете "уменьшить масштаб".

Но если бы я, например, пытался украсть изображения Google Maps, я бы

  • панорамирование
  • сохранить мелкие кусочки
  • сшить их вместе в фотошопе
9
  1. Мне пришлось проверить, как программное обеспечение работает / выглядит на экранах, больших, чем у меня, и я сделал это на виртуальной машине с VMWare Workstation. Я просто зашел в настройки ВМ, Дисплей и написал там разрешение. С помощью программного обеспечения для виртуализации легко сделать снимок экрана (Ctrl+Alt+PrtScr, и они автоматически сохраняются на рабочем столе хоста). Хотя я никогда не пытался подняться до 6000 × 4000 до сегодняшнего дня :-)

    WinXP на VMWare Workstation 10 с разрешением 6000 × 4000

  2. В то время как это покрывает общий случай, случай файлов PDF намного, намного легче. Там ужасно полезно (и бесплатно!) PDF рендерер под названием MuPDF, где вы можете просто запустить

    mudraw -o page%d.png -r 300 document.pdf 5-9
    

    почти мгновенно получить PNG с разрешением 300 точек на дюйм на страницах 5-9 document.pdf (с именем page5.png , page6.png , ..., page9.png)

  3. И последнее: кто-то упомянул скриншоты целых веб-страниц в Firefox? Расширения не нужны! Просто нажмите Shift+F2 и напишите

    screenshot webcap.png --fullpage
    
7

В Linux команда «xrandr» просто создает увеличенный виртуальный экран, например:

xrandr - выход HDMI-1 - скорость 60 - режим 1920x1200 - длительность 3000x2000

Затем сделайте снимок экрана обычным способом, который захватывает весь виртуальный экран в размере, указанном параметром --panning. Он также захватывает те области, которые находятся за пределами видимой области физического монитора.

3

Хорошая новость: есть способ запечатлеть ваш PDF полностью.
Плохая новость: это немного затянуто, и PDF не может быть на 100% правильным!
(Это лучше, чем ничего, верно?)

Итак, чтобы все это заработало, вам нужно сделать следующее:

  1. Загрузите версию NodeJS отсюда и установите ее
  2. а. Если у вас установлен git просто mozilla/pdf.js из github следующим образом.
    git clone git://github.com/mozilla/pdf.js.git pdfjs и cd
    б) если у вас нет git вам нужно скачать весь репозиторий кода отсюда: https://github.com/mozilla/pdf.js/archive/master.zip
    распакуйте его, а затем откройте command prompt и cd в корень папки
  3. запустить node make server

На данный момент вы создали веб-сервер, работающий на localhost:8888 который может отображать PDF-файлы с использованием JavaScript . Вы можете просмотреть пример pdf, перейдя на следующую страницу: http://localhost:8888/web/viewer.html?file=/examples/learning/helloworld.pdf

Далее вам нужно скачать PhantomJS.

  1. Хватай отсюда
  2. Распакуйте его куда угодно, а затем из командной строки cd в папку bin
  3. Скопируйте файл rasterize.js из папки examples phantomjs в папку bin (я знаю, что он немного грязный, но мы можем разобраться с этим позже, верно?)
  4. Откройте rasterize.js потому что нам нужно что-то изменить.
  5. Перейдите к строке 45 и измените время с 200 на 5000 . Код должен выглядеть следующим образом: https://gist.github.com/HaykoKoryun/eba33f2011d3d69b773b
  6. Поместите копию pdf файла, который вы хотите записать, в папку с именем test в корневой папке pdfjs
  7. Наконец, выполните следующую команду
    phantomjs.exe rasterize.js http://localhost:8888/web/viewer.html?file=/test/xxx.pdf test.png 1920px*1080px

Что это за параметры, которые я слышу? Первый сообщает phantomjs какой скрипт запускать. Это легко, в нашем случае это модифицированная версия rasterize.js !

Второй - это URL-адрес для загрузки, который является локальным веб- сервером , на котором выполняется pdfjs . Обратите внимание, что вам нужно заменить xxx на имя вашего pdf файла.

Третий параметр - это имя и формат файла, в который вы хотите сохранить запись.

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

2

Уже давно я использую старшего брата Цзина: SnagIt (также от TechSmith)

Он без проблем захватывает окна прокрутки, если они имеют горизонтальные и / или вертикальные полосы прокрутки. Таким образом, вы можете захватить область 3000x3000px и так далее.

Недостатком является то, что есть проблемы с приложениями, такими как Adobe Reader, где полосы прокрутки отсутствуют.

Инструмент не бесплатный, поэтому он также зависит от того, можете ли вы принять платный инструмент. Но пробная версия бесплатна, поэтому вы можете проверить, работает ли она для вас.

2

С помощью программного обеспечения PicPick можно получить изображение SS, выходящее за пределы видимой части экрана.

http://www.picpick.org/en/features

  • Делайте скриншоты всего экрана, активного окна, окон прокрутки и любого конкретного региона вашего рабочего стола и т.д.

  • Настройте свои собственные сочетания клавиш Поддержка нескольких мониторных сред,
    захват с курсором, автоматическое сохранение и именование файлов и т. д.

  • Поддержка плавающей панели захвата виджетов, которая позволяет легко взять
    скриншоты.

1

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

При использовании апплета Windows Панель управления / Оформление и персонализация / Отображение / Облегчить чтение, позволяет только увеличить разрешение экрана, а не уменьшить его.

Тем не менее, есть способ уменьшить DPI, который включает редактирование реестра.

Из статьи Zane's Blog - взломать LogPixels DPI :

Вот полезный совет для тех пользователей нетбуков, которые остро нуждаются в большем количестве экрана. Вы можете принудительно установить значение DPI ниже 96, используя реестр Windows.

Для этого откройте regedit, перейдите к
HKEY_CURRENT_CONFIG\Software\Fonts , элемент LogPixels
и измените десятичное значение с 96 на более низкое значение, например 80. Затем выйдите и снова войдите в систему, и вы увидите изменения.

Я использую значение 80 на своем нетбуке, и это самое большое, что я уроню, сохраняя при этом что-то (наполовину) читаемым. Вы заметите, что это действительно ухудшает читаемость шрифтов, а также наличие некоторых странных артефактов масштабирования растрового изображения, но если вы похожи на меня и можете приспособиться к нему, то дополнительное место на экране вполне оправдано.

Вы можете посмотреть сравнение моего рабочего стола с LogPixels на 80 и 96:

image1 image2

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

1

Я на самом деле пытаюсь получить что-то из PDF-файла, может быть немного грубо объединить части

Acrobat Reader фактически поддерживает "полностраничные скриншоты" с помощью инструмента "Снимок":

Вы можете использовать инструмент «Снимок», чтобы скопировать весь выбранный контент (текст, изображения или оба) в буфер обмена или в другое приложение. Текст и изображения копируются как изображения.

Выберите инструмент «Снимок», выбрав «Правка»> «Сделать снимок». Выполните одно из следующих действий:

  • Нажмите в любом месте на странице, чтобы захватить весь контент, отображаемый на экране. (Обратите внимание, что это фактически захватывает целые страницы, а не только видимую область на экране.)

  • Перетащите прямоугольник вокруг текста или изображений или их комбинации.

  • Перетащите прямоугольник внутри изображения, чтобы скопировать только часть изображения.

Инструмент «Снимок» может быть настроен на использование фиксированного разрешения для захваченного изображения независимо от текущего уровня масштабирования.

Найдите этот параметр в меню « Edit > « Preferences > « General > « Use fixed resolution for Snapshot tool images . Я использую разрешение 150 DPI.

1

Я на самом деле пытаюсь получить что-то из PDF-файла, может быть немного грубо объединить части

Впечатляющий проект использует некоторые инструменты для рендеринга страниц PDF в изображения. Фактические параметры командной строки могут быть извлечены из исходного кода:

  • MuPDF- инструмент mudraw или pdfdraw:

    mudraw -o <output_file> -r <resolution_in_DPI> <file.pdf> <pages>
    
  • Инструмент Xpdf/Poppler pdftoppm:

    pdftoppm -f <first_page> -l <last_page> -r <resolution_in_DPI> \
             <file.pdf> <ppm_files_prefix>
    
  • Ghostscript инструмент gs или gswin32c

    gs -dBATCH -dNOPAUSE -sDEVICE=tiff24nc -dUseCropBox \
       -sOutputFile=<output_file> \
       -dFirstPage=<first_page> -dLastPage=<last_page> \
       -r<resolution>x<resolution> \
       -dTextAlphaBits=<use_4_if_antialias_or_1> \
       -dGraphicsAlphaBits=<use_4_if_antialias_or_1> \
       <file.pdf>
    

Кроме того, вы можете импортировать одну страницу PDF в Gimp или Inkscape. Импорт в Inkscape имеет дополнительное преимущество - возможность редактировать фактическую страницу перед экспортом в другой формат.

Наконец, если вы действительно хотите извлечь изображения из PDF, используйте инструмент pdfimages из Xpdf/Poppler:

pdfimages -j <file.pdf> <image_files_prefix>
1

Итак, несмотря на превосходный ответ Винаяка - Screenshot Captor - который прекрасно работает, мне стало любопытно и я проверил все утилиты захвата экрана на бесплатном программном обеспечении Gizmo, включая те, которые упомянуты в разделе комментариев. Пока я проверил около 20.

Я нашел только три, которые я успешно использовал, чтобы захватить окно, перекрывающееся за пределами видимого экрана. Я сомневаюсь, что они такие же мощные, как Screenshot Captor, с точки зрения захвата окон полосами прокрутки, но они меньше и выполняют ту работу, которую я хотел:

0

Если вам нужно сделать снимок экрана веб-страницы, вы можете использовать Chrome DevTools.

Проверьте это видео https://www.youtube.com/watch?v=r_6_9eFPhxI.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .