Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何接受tcl位图列表_Tcl - Fatal编程技术网

如何接受tcl位图列表

如何接受tcl位图列表,tcl,Tcl,有没有办法获取Tcl发行版默认提供的位图图像列表 我找到了一个与此问题相关的wiki页面 但是它使用已经准备好的位图列表从您引用的wiki页面开始,相关命令是 其中.c是一个画布小部件 canvas手册页为create bitmap子命令的-bitmap选项显示: 指定要在项目的正常、活动和禁用状态下显示的位图。位图可以有任何被接受的形式 Tk_GetBitmap手册页 我还看到了显示默认位图是如何实例化的 所有这些都无助于推断如何以编程方式列出内置位图。位图图像(与位图相反,如果可以,应避免使

有没有办法获取Tcl发行版默认提供的位图图像列表

我找到了一个与此问题相关的wiki页面
但是它使用已经准备好的位图列表

从您引用的wiki页面开始,相关命令是

其中
.c
是一个画布小部件

canvas
手册页为
create bitmap
子命令的
-bitmap
选项显示:

指定要在项目的正常、活动和禁用状态下显示的位图。位图可以有任何被接受的形式

Tk_GetBitmap手册页

我还看到了显示默认位图是如何实例化的

所有这些都无助于推断如何以编程方式列出内置位图。

位图图像(与位图相反,如果可以,应避免使用位图)是使用
image create Bitmap
创建的图像,可以在
image type
的帮助下通过过滤
图像名称来列出:

proc listBitmapImages {} {
    set bitmaps {}
    foreach im [image names] {
        if {[image type $im] eq "bitmap"} {
            lappend bitmaps $im
        }
    }
    return $bitmaps
}
请注意,默认情况下,Tk不会创建位图图像。(有一些默认位图,如
Tk_GetBitmap
手册页面上所列,但它们不可发现,如果可能的话,应该在新代码中避免使用。它们的可移植性在一开始也是非常不可靠的,您可能会选择使用它们来绘制画布项目的主要内容是)但我非常喜欢位图图像,因为它们相对容易作为文本打包到脚本中。转换为XBM格式,您就有了适合使用的文本数据。(您甚至可以使用合适的遮罩XBM使其成为双色图像。)