如何截取大于屏幕的窗口的屏幕截图


38

我想拍摄一个大于屏幕尺寸的窗口的屏幕截图。

如果我缩小窗口并截取屏幕截图,则会失去质量,因为无法放大图像。

一台大显示器可以帮助我解决这个问题,但我没有。

我使用的是Jing,但它只允许我拍摄屏幕上可见的照片,而忽略其余部分。

有什么方法可以截取屏幕外的屏幕截图吗?


2
您要截屏的应用程序或文件是什么?如果可以在浏览器中打开它,则可以使用Firefox Screengrab插件。无论是否可见,您都可以通过它截取整个页面,窗口,框架或选择的屏幕截图。
ubiquibacon 2011年

@DanW为什么现有答案对您而言不够?
Daniel B

伊恩(Ian)的“拼接”想法太费力了,因为我要捕获的图像大约是6000 x 4000甚至更高,而且我可能需要做的不只一个。而且,这是一个任意窗口,而不是PDF文档,因此Li-aung的答案无济于事。如我所说,Snehal的答案不起作用。我会尽快尝试新的。
Dan W

Answers:


25

我相信Screenshot Captor是您正在寻找的工具。但是,它涉及一条轻微的学习曲线,并且滚动窗口捕获功能乍一看似乎令人生畏。

它可以捕获对象,即带有滚动条(水平和垂直)的窗口中的内容,单独的程序控件等。

它功能强大,但是可能需要对设置进行一些调整才能获得所需的内容,从而获得学习曲线。

如果您尝试该程序但对您不起作用,请在关闭它之前,观看此页面上列出的视频,尤其是有关基本滚动窗口捕获的视频

这是滚动的Windows资源管理器窗口的示例捕获(单击以查看完整大小): 滚动窗口捕获


1
免费的小型程序,不需要重新启动或注销,只需几秒钟即可工作,至少在我的情况下毫不费力(我想要捕获的窗口中没有滚动条,但是Screenshot Captor在外观上也支持滚动条)它)。完美捕获所有6026 x 4248像素。好答案。赏金奖励。
Dan W

10
  1. 我必须测试软件在比我现有的显示器更大的显示器中如何工作/看起来,并且已经使用VMWare Workstation在虚拟机中进行了测试。我只是去了VM设置Display,并在那里写了分辨率。使用虚拟化软件(Ctrl+ Alt+)截屏很容易PrtScr,它们会自动保存到主机的桌面。虽然直到今天我从未尝试过将像素提高到6000×4000 :-)

    VMWare Workstation 10上的WinXP(6000×4000)

  2. 虽然涵盖了一般情况,但PDF文件的情况要简单得多。有一个非常有用(免费的)PDF渲染器,称为MuPDF,您可以在其中运行

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

    经过9拿到5页几乎瞬间300 dpi的PNG图片document.pdf(命名page5.pngpage6.png,..., page9.png

  3. 最后一件事:有人提到在Firefox中抓取整个网页?无需扩展!只需按Shift+ F2并写

    screenshot webcap.png --fullpage
    

哇,在300兆位时有点过大了,但是程序看起来很强大。我猜测这对我当前的情况不起作用,因为我需要在模拟的Windows安装程序中重新运行6000x4000巨大的窗口渲染(需要花一周的时间才能完成)。我只是想能够随时掌握。
Dan W

9

屏幕之外没有任何东西,主要是因为应用程序不会绘制它。

最好的选择是平移图像,然后使用Photoshop(或您最喜欢的图像编辑器)将片段拼接在一起。

至少在Windows中就是这样。您不会说您拥有什么“窗口”以及如何“缩小”。

但是,例如,如果我试图窃取Google Maps的图像,我会

  • 平移
  • 保存小块
  • 在Photoshop中将它们缝在一起

作为Photoshop的替代品,您可能想要使用免费的图像编辑器(例如Gimp或Paint.Net),或使用全景软件,该软件将检测图像的匹配部分并自动将它们组合在一起。
Kissaki 2011年

我实际上是在尝试从pdf文件中获取某些内容,如果我不一次性抓取屏幕截图,将这些部分合并在一起可能会有些困难。我发现SnagIt 9具有不错的滚动功能(出于某种原因,他们在SnagIt 10中将其删除了)。它允许您向下滚动pdf,但无法滚动到侧面。但非常有用的

我当时使用Photoshop将来自Google报纸档案的报纸图像拼接在一起。
伊恩·博伊德

8

在Linux中,“ xrandr”命令仅创建一个更大的虚拟屏幕,例如:

xrandr-输出HDMI-1-速率60-模式1920x1200-平移3000x2000

然后以常规方式截取屏幕截图,以“ --panning”选项指定的大小捕获整个虚拟屏幕。它还会捕获可见物理监视器区域之外的那些区域。


2
@DavidPostill实际上,该问题被标记为“窗口”,并且没有提及实际使用的操作系统。其他所有人真的只是在假设Windows。
Ƭᴇcʜιᴇ007

这难以置信!我从来没有想过这是可能的。谢谢!
user60561

3

好消息:有一种方法可以完整捕获您的pdf。
坏消息:它有点冗长,PDF 可能不会100%正确!
(总比没有好吗?)

因此,要使这一切正常进行,您需要执行以下操作:

  1. 此处获取一个版本的NodeJS 并安装它
  2. 一个。如果你已经git安装了刚刚克隆mozilla/pdf.js的回购github像这样
    git clone git://github.com/mozilla/pdf.js.git pdfjscd进入目录
    b。如果没有,git则需要从此处下载整个代码存储库:https://github.com/mozilla/pdf.js/archive/master.zip
    解压缩,然后打开command promptcd进入文件夹的根目录
  3. node make server

到目前为止,您要做的是创建一个运行在Web服务器上的Web服务器,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的文件夹phantomjsbin文件夹(我知道这是一个有点脏,但我们可以在以后正确的梳理一下吗?)
  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

通过使用PicPick软件,可以使图像的SS超出屏幕的可见部分。

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

  • 拍摄整个屏幕,活动窗口,滚动窗口以及桌面上任何特定区域的屏幕截图,等等

  • 自定义自己的键盘快捷键支持多个监视器环境,
    使用光标捕获,自动保存和文件命名等

  • 支持浮动窗口小部件“捕获栏”,使您轻松拍摄
    屏幕截图。



恐怕对我没用。我尝试了“滚动窗口”抓取类型。它只是节省了单个屏幕的价值。
Dan W

2

很长时间以来,我一直在使用Jing的哥哥:SnagIt(也来自TechSmith)

如果它们具有水平和/或垂直滚动​​条,则可以毫无问题地捕获滚动窗口。因此,您可以捕获3000x3000px等区域。

不利之处在于Adobe Reader等应用存在一些问题,其中缺少滚动条。

该工具不是免费的,因此还取决于您是否可以接受付费工具。但是试用版是免费的,因此您可以检查它是否对您有用。


不幸的是,我想到的窗口没有滚动条。否则,听起来不错!
丹W

@DanW如果您使用“全景”功能(我想在Snagit 13中添加了此功能),则滚动的方式无关紧要-但您必须手动滚动(除非您设置了AutoHotkey或为您做的事情) )。
ic

1

我实际上是在尝试从pdf文件中获取内容,将各个部分合并在一起可能有点困难

Acrobat Reader实际上通过Snapshot工具支持“整页截图” :

您可以使用“快照”工具将所有选定的内容(文本,图像或两者)复制到剪贴板或另一个应用程序。文本和图像被复制为图像。

通过选择“编辑”>“创建快照”来选择“快照”工具。请执行以下任一操作:

  • 单击页面上的任意位置以捕获显示在屏幕上的全部内容。 (请注意,这实际上捕获的是整个页面,而不仅仅是屏幕上的可见区域。)

  • 在文本或图像或两者的组合周围拖动一个矩形。

  • 在图像内拖动矩形以仅复制图像的一部分。

可以将“快照工具”设置为对捕获的图像使用固定的分辨率,而不管您当前的缩放级别如何。

寻找下此设置Edit> Preferences> General> Use fixed resolution for Snapshot tool images。我使用150 DPI的分辨率。


1

要截取大于屏幕的窗口的快照,您将需要放大屏幕,因为屏幕截图不能包含尚未绘制的像素。

使用Windows applet控制面板时/外观和个性化/显示/使其易于阅读时,仅允许增大屏幕DPI,而不能减小屏幕DPI。

但是,有一种方法可以减少DPI,这涉及注册表编辑。

Zane的博客文章-LogPixels DPI hack

对于那些急需更多屏幕空间的上网本用户来说,这是一个方便的提示。您可以使用Windows注册表强制DPI值小于96。

为此,请打开regedit,导航至
HKEY_CURRENT_CONFIG\Software\FontsLogPixels
然后将十进制值从96更改为较低的值(例如80)。然后注销并重新登录,您将看到更改。

我在上网本上使用的值为80,这是我将要丢弃的值最大的值,同时仍然使内容(一半)可读。您会注意到,它确实阻碍了字体的可读性以及某些奇怪的位图缩放伪影,但是如果您像我一样可以调整它,那么额外的屏幕空间就非常值得。

您可以在80和96处查看我的桌面与LogPixels的并排比较:

图片1 image2

修改注册表之前,将Fonts分支导出为备份,并创建系统还原点。进行这些实验时,最好将.reg文件导出到桌面,因此只需双击即可将其激活并恢复原始大小。


不幸的是,您需要注销然后重新登录,这迫使您关闭所有打开的窗口。此外,尽管登录屏幕的分辨率较高,但是当我尝试使用Windows时,主Windows桌面却没有。
Dan W

1

好的,尽管有Vinanak的出色回答-Screenshot Captor-效果很好,但我很好奇,并在Gizmo的免费软件中签出了所有屏幕抓取实用程序,包括评论部分中提到的实用程序。到目前为止,我总共检查了大约20个。

我发现只有三个成功用于抓取重叠在屏幕可见显示之外的窗口的窗口。我怀疑它们在抓取带有滚动条的窗口方面是否与Screenshot Captor一样强大,但是它们较小并且可以完成我想要的工作:


1

我实际上是在尝试从pdf文件中获取内容,将各个部分合并在一起可能有点困难

令人印象深刻的项目使用一些工具来渲染PDF页面到图片。可以从源代码中提取实际的命令行参数:

  • MuPDF工具mudrawpdfdraw

    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工具gsgswin32c

    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页面导入GimpInkscape。导入Inkscape的另一个好处是能够在导出为另一种格式之前编辑实际页面。

最后,如果您实际上想从PDF中提取图片,请使用Xpdf / Poppler中的pdfimages工具:

pdfimages -j <file.pdf> <image_files_prefix>

0

如果您需要捕获网页的屏幕截图,则可以使用Chrome DevTools。

观看此视频https://www.youtube.com/watch?v=r_6_9eFPhxI


1
如果您可以在此处包括解决方案的要点,那么答案会更好。当链接过时时,链接中包含的解决方案将变得无用。视频可以作为有用的补充,但作为唯一的信息来源,它们并不能很好地回答。请注意,它可能会吸引反对票。如果您不想扩展答案,请考虑将其移至注释。
fixer1234
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.