# 2007/11/17 20:31 @ tcltk
Canvas,可以称之为画布,是Tk中的重要控件之一。
作为画布,我们可以定义画布的大小,背景色等,一个简单的画布可以用下面的命令创建
canvas .c -width 400 -height 400 -bg yellow pack .c
有了画布之后,就可以开始创作了。想想看,我们一般会画哪些东西呢:
在Tk中,它们看起来可能是这样
.c create line x1 y1 ... xn yn .c create rectangle $llx $lly $urx $ury .c create polygon x1 y1 ... xn yn .c create text $x $y -text $text .c create oval .c create arc .c create bitmap .c create image .c create window .c create application-defined-type
其中 application-defined-type 是指程序通过C扩展实现的自定义类型。
我们当然也希望可以对这些图形进行修饰,一些简单的属性看起来如下
Canvas还提供了些很有用的方法对图形进行处理,比较有用的包括
# 移动特定的图形 .c move all $dx $dy # 按比例缩放图形 .c scare all $ox $oy $scale_x $scale_y # 生成 postscript 文件 .c postscript ?option value option value ...? # 移动画布 .c scan mark $x $y .c scan dragto $x $y 1.0
我们已经看到Canvas可以作很多事情,现在有必要注意一些细节
Canvas的 x 轴是自左向右的,y 轴是自上向下的。Canvas目前还没有提供进行坐标系变换的方法。