我可以将屏幕截图用作矢量图形或比原始分辨率更高的分辨率吗?


32

我需要获取应用程序窗口的一些屏幕截图。我的笔记本电脑分辨率低,我想获得高质量的图像。

有没有办法将屏幕抓取为矢量图形(例如EPS,PDF,SVG)?或者,是否可以采用比原始分辨率更高的分辨率拍摄屏幕截图?

我的原始分辨率为1366x768,而我至少需要接近4000x3000的分辨率。



我以Windows为您的问题。如果不是这种情况,请编辑并重新标记。
slhck 2012年

>您可以尝试研究UI缩放。 这不会改变渲染到屏幕或可用于捕获的像素总数。
Synetech 2012年

1
这似乎很困惑。假设您有一个10k x 10k的显示器;您认为应用程序窗口应该看起来有什么不同?它应该包含更多项目,还是要在同一项目中包含更多详细信息?它是本机win32应用程序还是其他一些工具包,例如Qt,Java甚至是OpenGL或DirectX窗口?
伊隆(Eroen)2012年

2
这个想法是不同的。我知道我无法创建显示器没有的像素。我一直在寻找一种“虚拟”的显示分辨率增强工具,以便可以虚拟设置任何分辨率,如果分辨率高于显示能力,则每次都只能滚动屏幕以查看屏幕分辨率,并且能够打印虚拟屏幕来成像,而不是查看实际的虚拟屏幕子集。
阿尔法陶2012年

Answers:


21

当然!是的,你可以这样做。您将需要一个具有矢量后端的UI渲染引擎。Gtk + 3+具有该后端。请看这个项目:

但是您应该知道应用程序应该能够在使用Gtk +的Linux上运行。也许您可以使用此方法或使用Microsoft Visio创建具有矢量输出的模型。

请参阅以下示例:

如果您是Debian / Ubuntu用户,则只需安装即可

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

然后,您只需要选择要使用鼠标截图的应用程序即可。当前,该应用程序应为Gtk + 3,才能成功获取矢量屏幕快照。结果将是当前工作目录中的PDF文件。

截屏矢量应用程序

PS:好消息:Firefox 42 将使用Gtk + 3


1
真好!尽管该问题被标记为Windows,但对于将来发现此问题的访问者来说,这仍然是一个非常有用的答案。
Arjan

1
谢谢,实际上,这个标签不是来自问问题的人。实际上,这在某种程度上是一个棘手的过程,但是对于Metro和Retina,也许在Win / Mac上/将是可能的。它值得一个很好的研究。
Ho1

@ Ho1,来自在线搜索,似乎OS X能够获取PDF屏幕截图:idownloadblog.com/2014/07/31/…–
Andrea

@AndreaLazzarotto谢谢。但这是矢量吗?我找不到下载链接。如果您使用的是Mac,可以自己创建PDF屏幕截图吗?我们在这里讨论了有关Mac的矢量屏幕截图,在这里:apple.stackexchange.com/a/144596/90089
Ho1 2015年

1
我可以制作其他程序的屏幕截图,但是如果我使用Firefox进行尝试,则需要屏幕截图,但屏幕截图完全空白。在Ubuntu Gnome上工作。没有任何错误消息或没有打开任何窗口,对Midori或Chromium的屏幕截图无法使用...
nnn 2016年

10

捕捉为向量?不,当然不是。如果没有某种钩子,捕捉程序就无法了解屏幕上形状的几何形状。

但是,您可以做的是捕获栅格图像,然后将其转换为vector。有一些像Inkscape这样的工具可以执行此转换(尽管您通常必须手动进行一些调整,即使那样,您也很少能够获得像素完美的结果)。

至于分辨率,当您执行捕获时,它不能捕获的信息多于可用信息。您可以重新调整结果图像的大小,如果使用良好的缩放算法,则插值像素将很好地融合在一起,但是没有办法创造比现有更多的像素信息。

从理论上讲,有可能实现一种系统,在该系统中,所有内容都以较高的分辨率在内部呈现,然后以较小的分辨率发送到屏幕,但这将需要操作系统和驱动器的特殊支持,并且由于它的用途非常有限,并且在大多数情况下只会浪费内存,因此不太可能实现。

您可能可以使用桌面平移来获得比屏幕支持的分辨率更高的分辨率的桌面,但是同样,这要求您的驱动程序支持它。


1
假设窗口的调色板很小且相当简单,则可能会有用en.wikipedia.org/wiki/Pixel_art_scaling_algorithms
伊罗恩(Eroen)2012年

@ hit-and-run-down-voter,您的问题是什么(如果有的话)?其他人似乎很喜欢这个答案,所以如果您不愿发表评论,我将无法解决您可能会或可能不会遇到的任何问题。
Synetech

1
您错了-大多数GUI元素都是基于矢量的,包括渐变。但是-主流的OS和GUI框架为屏幕抓取器提供了外部侦听器API,这是一个大问题,但是还没有其他的捕获程序支持此功能。例如,您可以查看常规的Windows Inspect客户端:它可以捕获所有UI事件,并且可以制作自己的工具,将该事件呈现为矢量屏幕快照。
德米特里·波尼雅托夫

但是对于真正的矢量捕获应用程序,您必须包括OCR和跟踪模块作为后备-许多程序使用预先计算的位图,这是另一个(受市场启发)大问题。
德米特里·波尼阿托夫'17


-1

对于UNIX用户,可以使用KSnapShot或GIMP。图形屏幕中提供了更多详细信息

要安装KSnapShot,您可以使用此链接 KSnapShot

GIMP也可用于Windows。


这些似乎只是普通的快照工具,对于矢量图形或比屏幕上更高的分辨率没有什么说。我弄错了吗?
TS
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.