鱼C论坛

 找回密码
 立即注册
查看: 5562|回复: 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


这部分的代码

  1. [hide]#裁剪图片
  2. def caijian():
  3.     im1 = None
  4.     photo = None
  5.     im2 = None

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

  10.                 def save_images(image_list):

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

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


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

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

  62.             def paint(event):
  63.                 x, y = event.x, event.y
  64.                 if a[-1] - 5 <= y <= a[-1] + 5 and 1 < y < height - 1:
  65.                     a.append(y)
  66.                     w.coords(line1, 0, a[-1], width, a[-1])
  67.                     w.itemconfig(line1, fill="aqua", dash=(255, 255))
  68.                 if b[-1] - 10 <= y <= b[-1] + 10 and 1 < y < height - 1:
  69.                     b.append(y)
  70.                     w.coords(line2, 0, b[-1], width, b[-1])
  71.                     w.itemconfig(line2, fill="aqua", dash=(255, 255))
  72.                 if c[-1] - 5 <= x <= c[-1] + 5 and 1 < x < width + 1:
  73.                     c.append(x)
  74.                     w.coords(line3, c[-1], 0, c[-1], height)
  75.                     w.itemconfig(line3, fill="aqua", dash=(255, 255))
  76.                 if d[-1] - 10 <= x <= d[-1] + 10 and 1 < x < width + 1:
  77.                     d.append(x)
  78.                     w.coords(line4, d[-1], 0, d[-1], height)
  79.                     w.itemconfig(line4, fill="aqua", dash=(255, 255))

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

  89.     roota = Tk()
  90.     # 禁止窗口拉伸
  91.     roota.resizable(width=False, height=False)
  92.     frame = Frame(roota, bd=1, relief=SUNKEN, background='plum')
  93.     button = Button(frame, activeforeground='aqua', relief=FLAT, activebackground='steelblue', bg="steelblue",
  94.                     fg="aqua", text='确定', font=('迷你简毡笔黑', 10), command=xianshi)
  95.     label = Label(frame, text='''请输入图片地址:
  96.     粘贴请 ctrl+v ''', font=('迷你简毡笔黑', 10), fg="mediumvioletred")
  97.     entry = Entry(frame, width=30, fg="mediumvioletred", background='plum', font=('迷你简毡笔黑', 10))
  98.     label.pack(side=TOP)
  99.     entry.pack(pady=30, padx=10)
  100.     frame.pack()
  101.     button.pack(side=BOTTOM)
  102.     mainloop()
  103. [/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-4-25 06:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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