from tkinter import *
from PIL import Image,ImageTk
#创建主窗口
win=Tk()
win.title(string="余佳慧真好看")
imgfile1=Image.open(r"C:\Users\hjw\Desktop\Python—PyCharm\1.1.jpg")
imgfile2=Image.open(r"C:\Users\hjw\Desktop\Python—PyCharm\1.5.jpg")
imgfile3=Image.open(r"C:\Users\hjw\Desktop\Python—PyCharm\1.3.jpg")
imgfile4=Image.open(r"C:\Users\hjw\Desktop\Python—PyCharm\1.4.jpg")
img1=ImageTk.PhotoImage(imgfile1)
img2=ImageTk.PhotoImage(imgfile2)
img3=ImageTk.PhotoImage(imgfile3)
img4=ImageTk.PhotoImage(imgfile4)
canvas=Canvas(win,width=400,height=400)
canvas.create_image(50,40,image=img1,anchor=NW)
canvas.create_image(200,40,image=img2,anchor=NW)
canvas.create_image(50,240,image=img3,anchor=NW)
canvas.create_image(200,240,image=img4,anchor=NW)
canvas.pack(fill=BOTH,expand=1)
win.mainloop()
复制与粘贴图像
可使用如下几个方法:
copy()#复制该图像
paste(image,box)#粘贴该图像
crop(box)#剪下该图像中的一个矩形方块
resize((width,height))#改变图像大小
rotate(angle)#旋转一定角度
transpose(method)#颠倒图像
box是该图像中的一个矩形方块,是一个含有四个元素的元组:(left,top,right,bottom),表示矩阵左上角与右下角的坐标。如果是paste()方法,box也可以是一个含有两个元素的元组:((left,top),(right,bottom))。
import tkinter
from PIL import Image,ImageTk
#创建主窗口
win=tkinter.Tk()
win.title(string="余佳慧大垃圾")
#打开图像文件
path="C:\\Users\\hjw\\Desktop\\Python—PyCharm\\"
imgFile=Image.open(path+"1.1(1).jpg")
imgFile1=Image.open(path+"1.1(1).jpg")
#创建一个图像实例变量
img1=ImageTk.PhotoImage(imgFile)
#读取文件的宽与高
width,height=imgFile.size
print(width,height)
#设置剪裁的宽与高
box1=(0,0,width,int(height/2))
#将图像的上半部分剪下
part=imgFile1.crop(box1)
part=part.rotate(45)
#将图像的上半部分粘贴在上面
imgFile1.paste(part,box1)
imgFile1=imgFile1.resize((int(width/2),int(height/2)))
#创建第二个实例变量
img2=ImageTk.PhotoImage(imgFile1)
#创建Lable控件,显示图像
label1=tkinter.Label(win,width=1000,height=1000,image=img1,borderwidth=1)
label2=tkinter.Label(win,width=1000,height=1000,image=img2,borderwidth=1)
label1.pack(side=tkinter.LEFT)
label2.pack(side=tkinter.LEFT)
win.mainloop()