Canvas组件由tkinter模块自带,主要用于绘图即自定义功能。笔者认为要点实现如下。
在画布内绘制图片。一是采用顺序格式时,直接重复使用canvas对象.create_image((中心点XY坐标),tkinter图形对象)即可。二是采用自定义函数格式或者class类对象时,需要设定tkinter图形对象为全局格式或者类属性,即
canvas = Canvas(master,options)
canvas.place()三种布局管理器的任一种。
def Function():
Global image;
File = DIR;
Image = Photoimage(file=File);
canvas.create_image((0,0),image=Image);
Function()
class App():
def __init__(self):
global image;
image = Photoimage(file=File);
self.photo = Photoimage(file=File);
主要原因是:Photoimage必须要有引用指向,否则Photoimage的结构将被立马回收,导致画图失败。
添加图片时绘制全部图片。画布不会自动调整添加图片的大小,如果画布大小小于图片大小,则只显示部分图片。因此欲使添加图片在画布中全部显示可使用两种方法。一是改变画布大小,使其大于等于图片的尺寸,改变画布属性使用canvas对象.config(options)。二是调整图片大小。笔者使用PIL库或者CV2库,其他插件可以根据自己爱好使用。
添加多种格式的图片。请听下回分解。