鱼C论坛

 找回密码
 立即注册
查看: 6096|回复: 50

[作品展示] 工具箱(练习)1.0

[复制链接]
发表于 2021-3-2 18:39:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 小伤口 于 2021-3-2 18:47 编辑

前言


为了巩固一下python
所以琐碎时间就乱敲敲


就有了把写的小玩意放在一堆的想法


美其名曰


工具箱


正文




QQ截图20210302174727.png

由图所示目前有三个功能

1 在线翻译


QQ截图20210302175115.png

这个就不用我多说了吧



2 身材衡量

QQ截图20210302175507.png

QQ截图20210302175520.png



注:原程序并没有星星,只是俺也有隐私嘛~,即使俺是个爷们儿

这个其实也简单只是把公式可视化而已




这是这部分的代码

游客,如果您要查看本帖隐藏内容请回复

3裁剪图片

QQ截图20210302180432.png

QQ截图20210302180607.png

没错就是裁剪图片的功能

通过鼠标移动4条直线来确定裁剪位置,中心区域就是需要保存的图片



放1张效果图吧~
裁剪前:


下载.png
裁剪后:

4.png


这部分的代码
[hide]#裁剪图片
def caijian():
    im1 = None
    photo = None
    im2 = None

    def xianshi():
        def qiege():
            try:
                images_list = [im2.crop((c[-1], a[-1], d[-1], b[-1]))]

                def save_images(image_list):

                    """ 保存 9 张图片 """
                    output_path = os.path.abspath(os.path.dirname(__file__))
                    for index, image in enumerate(image_list):
                        image.save(f"{output_path}/{index + 1}.png", "PNG")
                    def tuichu():
                        roots.destroy()
                    root.destroy()
                    roots = Tk()
                    # 禁止窗口拉伸
                    roots.resizable(width=False, height=False)
                    roots.geometry('300x300')
                    label=Label(roots,text='''裁剪成功!
        快去查看图片吧~ ^_^
        注:图片在工具箱的目录里''',font=('迷你简毡笔黑', 15),fg='red')

                    button=Button(roots, activeforeground='aqua', relief=FLAT, activebackground='steelblue', bg="steelblue",fg="aqua", text='确定', font=('迷你简毡笔黑', 10), command=tuichu)
                    label.pack(pady=20)
                    button.pack(pady=10)
                    root.mainloop()


                save_images(images_list)
            except SystemError:
                mx3 = showerror(title='错误消息框', message='请正确裁剪')
                root.destroy()

        contents = entry.get()
        try:
            im1 = ims.open(contents)
            roota.destroy()
            root = Tk()
            # 禁止窗口拉伸
            root.resizable(width=False, height=False)
            # 复制图像
            im2 = im1.copy()
            # 将复制后的图像进行缩放,传入一个元组
            im2.thumbnail((300, 350))
            photo = ImageTk.PhotoImage(im2)
            width, height = im2.size
            root.geometry(str(100 + width) + 'x' + str(150 + height))
            frame = Frame(root, bd=1, relief=SUNKEN)
            label = Label(root, fg='red', text='''中心区域才是
    裁剪的内容哦~ ^-^
    线之间不能重合哟~''', font=('迷你简毡笔黑', 15))
            button3 = Button(root, activeforeground='aqua', relief=FLAT, activebackground='steelblue', bg="steelblue",
                             fg="aqua", text='开始切割', font=('迷你简毡笔黑', 10), command=qiege)
            w = Canvas(frame, width=width, height=height)
            frame.pack()
            w.pack()
            button3.pack(pady=10)
            label.pack()
            a = [height / 3]
            b = [(2 * height) / 3]
            c = [width / 3]
            d = [(width * 2) / 3]

            def paint(event):
                x, y = event.x, event.y
                if a[-1] - 5 <= y <= a[-1] + 5 and 1 < y < height - 1:
                    a.append(y)
                    w.coords(line1, 0, a[-1], width, a[-1])
                    w.itemconfig(line1, fill="aqua", dash=(255, 255))
                if b[-1] - 10 <= y <= b[-1] + 10 and 1 < y < height - 1:
                    b.append(y)
                    w.coords(line2, 0, b[-1], width, b[-1])
                    w.itemconfig(line2, fill="aqua", dash=(255, 255))
                if c[-1] - 5 <= x <= c[-1] + 5 and 1 < x < width + 1:
                    c.append(x)
                    w.coords(line3, c[-1], 0, c[-1], height)
                    w.itemconfig(line3, fill="aqua", dash=(255, 255))
                if d[-1] - 10 <= x <= d[-1] + 10 and 1 < x < width + 1:
                    d.append(x)
                    w.coords(line4, d[-1], 0, d[-1], height)
                    w.itemconfig(line4, fill="aqua", dash=(255, 255))

            w.bind("<B1-Motion>", paint)
            w.create_image(width / 2, height / 2, image=photo)
            line1 = w.create_line(0, (height) / 3, width, (height) / 3, fill="red", dash=(4, 4))
            line2 = w.create_line(0, (2 * height) / 3, width, (2 * height) / 3, fill="red", dash=(4, 4))
            line3 = w.create_line(width / 3, 0, width / 3, height, fill="red", dash=(4, 4))
            line4 = w.create_line((width * 2) / 3, 0, (2 * width) / 3, height, fill="red", dash=(4, 4))
            mainloop()
        except (FileNotFoundError, OSError):
            mx3 = showerror(title='错误消息框', message='找不到图片,请仔细检查地址是否有误!')

    roota = Tk()
    # 禁止窗口拉伸
    roota.resizable(width=False, height=False)
    frame = Frame(roota, bd=1, relief=SUNKEN, background='plum')
    button = Button(frame, activeforeground='aqua', relief=FLAT, activebackground='steelblue', bg="steelblue",
                    fg="aqua", text='确定', font=('迷你简毡笔黑', 10), command=xianshi)
    label = Label(frame, text='''请输入图片地址:
    粘贴请 ctrl+v ''', font=('迷你简毡笔黑', 10), fg="mediumvioletred")
    entry = Entry(frame, width=30, fg="mediumvioletred", background='plum', font=('迷你简毡笔黑', 10))
    label.pack(side=TOP)
    entry.pack(pady=30, padx=10)
    frame.pack()
    button.pack(side=BOTTOM)
    mainloop()
[/hide]

如果喜欢请评个分吧~



[hide]/hide]


工具箱 - 副本.rar

1.81 MB, 下载次数: 12

售价: 2 鱼币  [记录]

买点吧~

评分

参与人数 5荣誉 +17 鱼币 +17 贡献 +6 收起 理由
nahongyan1997 + 1 + 1 鱼C有你更精彩^_^
v.ki + 5 + 5 + 3 支持一发
hrp + 5 + 5 鱼C有你更精彩^_^
昨非 + 5 + 5 + 3 鱼C有你更精彩^_^
yayc_zcyd + 1 + 1 厉害!买了

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-2 19:24:26 From FishC Mobile | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-2 19:42:06 | 显示全部楼层
厉害啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-2 20:33:22 | 显示全部楼层
很棒啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-2 21:11:37 | 显示全部楼层

谢谢大佬的支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-2 21:50:31 From FishC Mobile | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-2 22:50:39 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-3 08:19:49 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-3 08:27:23 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-3-3 10:17:32 | 显示全部楼层

蟹蟹大佬支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-3 10:23:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-3 10:25:34 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-3 10:26:14 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-3 10:32:06 | 显示全部楼层

回帖奖励 +2 鱼币

大佬强啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-3 11:01:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-3 13:36:00 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-3 15:25:12 | 显示全部楼层

回帖奖励 +2 鱼币

厉害!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-3 17:13:57 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-3 18:59:01 | 显示全部楼层
什么,你是爷们??

不是萌妹子吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-3 19:10:59 | 显示全部楼层
逃兵 发表于 2021-3-3 18:59
什么,你是爷们??

不是萌妹子吗

啊。。。。这。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 23:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表