Scripting 拍摄TCL中的一个窗口

Scripting 拍摄TCL中的一个窗口,scripting,tcl,screenshot,Scripting,Tcl,Screenshot,我有一个用TCL编写的应用程序。我希望能够运行一个脚本,捕获一个窗口的屏幕截图,如PNG、BMP等 我看过这个wiki页面(),但我想我读到Img包只适用于tcl8.4 我还尝试了图像创建照片格式窗口-data%W,但出现了一个错误,说“不支持图像格式窗口” 是否有一种解决方案可以捕获并保存tcl8.6的TCL窗口 这应该是使代码正常工作所必需的: package require img::window 它是Img的一个子包,应该在8.6上得到支持。(请注意,OSX上可能有问题;该平台上Img

我有一个用TCL编写的应用程序。我希望能够运行一个脚本,捕获一个窗口的屏幕截图,如PNG、BMP等

我看过这个wiki页面(),但我想我读到Img包只适用于tcl8.4

我还尝试了
图像创建照片格式窗口-data%W
,但出现了一个错误,说“不支持图像格式窗口”

是否有一种解决方案可以捕获并保存tcl8.6的TCL窗口

这应该是使代码正常工作所必需的:

package require img::window
它是Img的一个子包,应该在8.6上得到支持。(请注意,OSX上可能有问题;该平台上Img的ActiveState构建似乎已中断。)


通常,如果一个包在Tcl/Tk 8中受支持。X那么它也在8中受支持。Y(wereYX)。这条规则有一些例外(需要注意的主要例外可能是TclOO、[incr Tcl]和BLT,因为它们深入研究了Tcl),但它们只是例外。

TclOO内置于8.6中,[incr Tcl]4应该与8.6一起发布,所以它们没有问题。只是TclOO的单独软件包版本仅适用于8.5,而且由于内部结构的变化,[incr Tcl]3无法与8.6配合使用。BLT…BLT是它自己的东西。Afaik BLT有两个问题:对
Tcl_New*Obj
的结果类型的假设和使用
interp->result
,但我可能错了。BLT过去肯定有比这更深的问题,比如修补哈希表的实现…