python tkinter canvas 显示图片的示例
先来看一下该方法的说明
create_image(position,**options)[#] Drawsanimageonthecanvas. position Imageposition,givenastwocoordinates. **options Imageoptions. activeimage= anchor= Wheretoplacetheimagerelativetothegivenposition.DefaultisCENTER. disabledimage= image= Theimageobject.ThisshouldbeaPhotoImageorBitmapImage,oracompatibleobject(suchasthePILPhotoImage).Theapplicationmustkeepareferencetotheimageobject. state= Itemstate.OneofNORMAL,DISABLED,orHIDDEN. tags= Atagtoattachtothisitem,oratuplecontainingmultipletags. Returns: Theitemid.
关于image有两个重要的点要注意,一个是格式,第二是要保持持续引用
Theimageobject.Thisshouldbea
1.ThisshouldbeaPhotoImageorBitmapImage,oracompatibleobject(suchasthePILPhotoImage).
2.Theapplicationmustkeepareferencetotheimageobject.
因此代码应该这样写,并且变量im应该是全局变量
image=Image.open("img.jpg") im=ImageTk.PhotoImage(image) canvas.create_image(300,50,image=im)
但如果我就是想要在方法里调用怎么办?
那么可以提前声明全局变量
image=None im=None
之后在方法里使用global来声明变量为全局变量
即:
defmethod(): globalimage globalim image=Image.open("img.jpg") im=ImageTk.PhotoImage(image) ...
以上这篇pythontkintercanvas显示图片的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。