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

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

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

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

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

答案1

当然!是的,你可以这样做。你需要一个具有矢量后端的 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

答案2

捕获作为矢量?当然不是。如果不与执行绘图的程序建立某种联系,捕获程序就无法了解屏幕上形状的几何形状。

不过,你可以先捕捉一张光栅图像,然后将其转换为矢量. 有类似Inkscape可以执行这种转换(尽管您通常必须手动进行一些调整,即使这样,您也很少能够获得像素完美的结果)。

至于分辨率,当您执行捕获时,它无法捕获比可用信息更多的信息。您可以重新调整生成的图像的大小,如果您使用良好的缩放算法,插值像素可以很好地融合,但没有办法发明比现有的像素信息更多。

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

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

答案3

不是现在。这应该是可能的但事实并非如此。

两者都是原生矢量 UI,但也允许使用位图- 这非常适合 SVG。然而,虽然存在将 WPF 导出为 SVG 的工具NSView 也一样),其中大部分是针对软件开发人员的。例如,您需要应用程序的 XAML 源才能将其导出到 SVG。

答案4

对于 UNIX 用户,您可以使用 KSnapShot 或 GIMP。更多详细信息请参阅图形屏幕

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

GIMP 也适用于 Windows。

相关内容