.在桌面上有一个名为new 的文件夹,里面放有十张图片,请设计程序将此十张 图片全部读取出来,并在图形窗口显示,请写出相应程序。
时间: 2024-11-15 16:20:25 浏览: 4
通过流的形式读取图片并保存到别的文件夹里
4星 · 用户满意度95%
在Python中,我们可以使用`PIL`库(Python Imaging Library)来处理图像,并通过`Tkinter`库创建一个图形窗口展示图片。这里是一个简单的示例程序:
```python
from tkinter import *
from PIL import Image, ImageTk
# 打开文件夹并列出所有图片
folder_path = "new"
image_files = [f for f in os.listdir(folder_path) if f.endswith(('.jpg', '.png'))]
# 创建一个空的列表来存储Image对象
images = []
# 循环遍历每一张图片
for file_name in image_files:
img_path = os.path.join(folder_path, file_name)
with Image.open(img_path) as im:
# 将图片转换为Tkinter可以显示的格式
photo = ImageTk.PhotoImage(im)
images.append(photo)
# 创建主窗口
root = Tk()
root.title("图片展示")
# 遍历图片并在窗口上添加标签和图片
row_count = 0
column_count = 0
for i, img in enumerate(images):
label = Label(root, image=img)
label.image = img # 需要保存这个属性,因为Tkinter只接受PhotoImage实例
label.grid(row=row_count, column=column_count, padx=5, pady=5)
if (i + 1) % 4 == 0 or i == len(images) - 1: # 每四张图片换行
row_count += 1
column_count = 0
else:
column_count += 1
# 运行主循环
root.mainloop()
阅读全文