2013-12-16 30 views
1

我有一個用TCL編寫的應用程序。我希望能夠運行一個腳本,捕獲一個PNG,BMP等窗口的屏幕截圖。拍攝TCL中的窗口

我已看過這個wiki頁面(http://wiki.tcl.tk/9127),但我想我只讀了Img包適用於TCL 8.4。

我也試過image create photo -format window -data %W,但我得到一個錯誤,說「圖像格式」窗口'不支持「。

是否有解決方案來捕獲和保存tcl8.6的TCL窗口?

回答

2

應該到Be公司需要什麼來使該代碼工作:

package require img::window 

這是圖的子包,應該肯定是對8.6的支持。 (請注意,你可能對OSX的問題,圖的是平臺上的ActiveState的建設似乎被打破。)

在一般情況下,如果包中的Tcl支持/ Tk的8 X然後將它支持的功能8. Y(分別爲YX)。這條規則有一些例外(主要的例子可能是TclOO,[incr Tcl]和BLT,因爲他們用手指深入Tcl),但他們只是這樣:例外。

+0

TclOO內置於8.6版本,[incr Tcl] 4應該附帶8.6,所以它們沒有問題。只是TclOO的單獨版本僅適用於8.5版本,[由於內部結構的變化,[incr Tcl] 3將不適用於8.6版本。 BLT ... BLT是它自己的東西。 –

+0

Afaik BLT有兩個問題:假設Tcl_New * Obj和'interp-> result'的結果類型,但我可能是錯的。 –

+0

BLT肯定會有更深層次的問題,比如修補哈希表的實現...... –