tkinter 缩放图片 Scale控件 结合PIL

使用tkinter简单实现 缩放图片 功能

先看效果图:

在这里插入图片描述

看个 动态效果图也可以:

请添加图片描述

目录结构如下:

在这里插入图片描述

使用模块:

  • 标准模块:
    math
    tkinter
  • 第三方模块:
    PIL

代码如下:

import math
import tkinter as tk
from PIL import Image,ImageTk


root = tk.Tk()
root.title('缩放图片')
root.geometry('700x500+300+100')

default_val = 50
scale_var=tk.IntVar()
scale_var.set(default_val)

scale = tk.Scale(root,orient=tk.HORIZONTAL,variable=scale_var)
scale.pack(fill="x")

img = Image.open("scale.png")
img1 = ImageTk.PhotoImage(img)
imgLabel = tk.Label(root,image=img1)
imgLabel.pack(fill="both")

w,h = img.size 
scalew=math.ceil( w/default_val )
scaleh=math.ceil( h/default_val )

def scaleFn(val):
    # print(val)
    if int(val) <= 10:#限制
        return
    targetw = int(val)*scalew
    targeth = int(val)*scaleh
    
    bg = img.resize((targetw, targeth)) 
    bgg = ImageTk.PhotoImage(bg)    
    imgLabel.config(image=bgg)
    imgLabel.image = bgg


scale.config(command=lambda x:scaleFn(x))
root.mainloop()


---- 结束 ----
仅学习。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值