Python button选取本地图片并显示的实例

yipeiwu_com6年前Python基础

从本地文件夹中选取一张图片并在canvas上显示

from tkinter import *
from tkinter import filedialog
from PIL import Image, ImageTk

if __name__ == "__main__":
  root = Tk()

  #setting up a tkinter canvas with scrollbars
  frame = Frame(root, bd=2, relief=SUNKEN)
  frame.grid_rowconfigure(0, weight=1)
  frame.grid_columnconfigure(0, weight=1)
  xscroll = Scrollbar(frame, orient=HORIZONTAL)
  xscroll.grid(row=1, column=0, sticky=E+W)
  yscroll = Scrollbar(frame)
  yscroll.grid(row=0, column=1, sticky=N+S)
  canvas = Canvas(frame, bd=0, xscrollcommand=xscroll.set, yscrollcommand=yscroll.set)
  canvas.grid(row=0, column=0, sticky=N+S+E+W)
  xscroll.config(command=canvas.xview)
  yscroll.config(command=canvas.yview)
  frame.pack(fill=BOTH,expand=1)


  #function to be called when mouse is clicked
  def printcoords():
    File = filedialog.askopenfilename(parent=root, initialdir="C:/",title='Choose an image.')
    filename = ImageTk.PhotoImage(Image.open(File))
    canvas.image = filename # <--- keep reference of your image
    canvas.create_image(0,0,anchor='nw',image=filename)

  Button(root,text='choose',command=printcoords).pack()
  root.mainloop()

以上这篇Python button选取本地图片并显示的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现图片九宫格分割

大家都知道在微信朋友圈或者微博以及QQ动态中,有很多“强迫症患者”发图片都爱发9张,而有些图是一张图片分成的九宫图,对于这种操作,大家知道是怎么做到的吗? 本文就是用Python做的一个...

python socket 聊天室实例代码详解

python socket 聊天室 import socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #绑定端口...

彻底理解Python list切片原理

关于list的insert函数 list#insert(ind,value)在ind元素前面插入value 首先对ind进行预处理:如果ind<0,则ind+=len(a),这样...

Python表示矩阵的方法分析

Python表示矩阵的方法分析

本文实例讲述了Python表示矩阵的方法。分享给大家供大家参考,具体如下: 在c语言中,表示个“整型3行4列”的矩阵,可以这样声明:int  a[3][4];在python中一...

Django ImageFiled上传照片并显示的方法

1:首先理解settings.py中 MEDIA_ROOT: MEDIA_URL:这两者之间的关系。 MEDIA_ROOT:就是保存上传图片的根目录,比如说MEIDA_ROOT ="C:...