鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[其他] 火爆全球的主流图片压缩方案自动化脚本(有彩蛋)

[复制链接]
发表于 2023-4-29 21:27:24 | 显示全部楼层
哇塞,好羡慕哪些会写的大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-30 20:21:58 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-1 07:50:20 | 显示全部楼层
本帖最后由 元豪 于 2023-5-1 08:35 编辑
  1. import tinify, os, sys

  2. tinify.key = 'key'

  3. houzhui = ['.jpg', '.png', '.webp']

  4. num = 0
  5. s = t1 = t2 = None
  6. ss = []

  7. def printf(ttt):
  8.     def func():
  9.         ttt(s, t1, t2)
  10.     return func

  11. @printf
  12. def ttt(s, t1, t2):
  13.     print('({}/{})图片<{}>正在压缩处理中, 请稍后...'.format(t2, t1, s))

  14. kkk = sys.argv
  15. if len(kkk) > 1:
  16.     for i in kkk:
  17.         if os.path.splitext(i)[1] in houzhui:
  18.             img = tinify.from_file('{}{}'.format(os.path.splitext(i)[0], os.path.splitext(i)[1]))
  19.             img.to_file('{}{}'.format(os.path.splitext(i)[0] + '_new', os.path.splitext(i)[1]))
  20.             num += 1
  21.             ss.append(os.path.splitext(i)[0] + os.path.splitext(i)[1])
  22.     t1 = num
  23.     for i in range(num):
  24.         t2 = i + 1
  25.         s = ss[i]
  26.         ttt()
  27. else:
  28.     x = input('请输入需要压缩的图片(回车优化当前文件夹): ')
  29.     if not x:
  30.         print('开始优化当前文件下所有.jpg/.png/.webp文件')
  31.         g = input('请输入尺寸(宽度 高度): ')
  32.         if not g:
  33.             for i in os.listdir('./'):
  34.                 hou = os.path.splitext(i)[1]
  35.                 if hou in houzhui:
  36.                     img = tinify.from_file('{}{}'.format(os.path.splitext(i)[0], os.path.splitext(i)[1]))
  37.                     img.to_file('{}{}'.format('new_' + os.path.splitext(i)[0], os.path.splitext(i)[1]))
  38.                     ss.append(os.path.splitext(i)[0] + os.path.splitext(i)[1])
  39.                     num += 1
  40.             t1 = num
  41.             for i in range(num):
  42.                 s = ss[i]
  43.                 t2 = i + 1
  44.                 ttt()
  45.         elif '0' in g.split():
  46.             w, h = map(int, g.split())
  47.             for i in os.listdir('./'):
  48.                 hou = os.path.splitext(i)[1]
  49.                 if hou in houzhui:
  50.                     img = tinify.from_file('{}{}'.format(os.path.splitext(i)[0], os.path.splitext(i)[1]))
  51.                     if w == 0:
  52.                         newimg = img.resize(method='scale', height=h)
  53.                     else:
  54.                         newimg = img.resize(method='scale', width=w)
  55.                     newimg.to_file('{}{}'.format('new_' + os.path.splitext(i)[0], os.path.splitext(i)[1]))
  56.                     ss.append(os.path.splitext(i)[0] + os.path.splitext(i)[1])
  57.                     num += 1
  58.             t1 = num
  59.             for i in range(num):
  60.                 s = ss[i]
  61.                 t2 = i + 1
  62.                 ttt()
  63.         else:
  64.             w, h = map(int, g.split())
  65.             for i in os.listdir('./'):
  66.                 hou = os.path.splitext(i)[1]
  67.                 if hou in houzhui:
  68.                     img = tinify.from_file('{}{}'.format(os.path.splitext(i)[0], os.path.splitext(i)[1]))
  69.                     newimg = img.resize(method='fit', width=w, height=h)
  70.                     newimg.to_file('{}{}'.format('new_' + os.path.splitext(i)[0], os.path.splitext(i)[1]))
  71.                     ss.append(os.path.splitext(i)[0] + os.path.splitext(i)[1])
  72.                     num += 1
  73.             t1 = num
  74.             for i in range(num):
  75.                 s = ss[i]
  76.                 t2 = i + 1
  77.                 ttt()
  78.     else:
  79.         g = input('请输入尺寸(宽度 高度): ')
  80.         if not g:
  81.             img = tinify.from_file('{}{}'.format(os.path.splitext(x)[0], os.path.splitext(x)[1]))
  82.             img.to_file('{}{}'.format('new_' + os.path.splitext(x)[0], os.path.splitext(x)[1]))
  83.             s = '{}{}'.format(os.path.splitext(x)[0], os.path.splitext(x)[1])
  84.             t1 = t2 = 1
  85.             ttt()
  86.         else:
  87.             w, h = map(int, g.split())
  88.             img = tinify.from_file('{}{}'.format(os.path.splitext(x)[0], os.path.splitext(x)[1]))
  89.             if w and h:
  90.                 newimg = img.resize(method='fit', width=w, height=h)
  91.             elif not w:
  92.                 newimg = img.resize(method='scale', height=h)
  93.             elif not h:
  94.                 newimg = img.resize(method='scale', width=w)
  95.             newimg.to_file('new_{}{}'.format(os.path.splitext(x)[0], os.path.splitext(x)[1]))
  96.             s = '{}{}'.format(os.path.splitext(x)[0], os.path.splitext(x)[1])
  97.             t1 = 1
  98.             t2 = 1
  99.             ttt()
  100.     print('全部处理完成~')
  101.         
复制代码


@小甲鱼 可以把最后一个名额给我吗写了好久
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-2 02:36:11 | 显示全部楼层
元豪 发表于 2023-5-1 07:50
@小甲鱼 可以把最后一个名额给我吗写了好久

这个帖子的活动过期很久啦~

不过此时此刻这里有一个活动正在进行 -> https://fishc.com.cn/thread-226860-1-1.html

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

使用道具 举报

发表于 2023-5-2 07:13:09 | 显示全部楼层
小甲鱼 发表于 2023-5-2 02:36
这个帖子的活动过期很久啦~

不过此时此刻这里有一个活动正在进行 -> https://fishc.com.cn/thread-226 ...

那我可以要少点 , 我是真的想要
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-4 04:38:06 | 显示全部楼层
朕想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-27 09:05:24 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-30 17:07:01 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-6-24 06:30:36 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-6 22:53:26 From FishC Mobile | 显示全部楼层
哇!塞,好羡慕哪些会写的大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-6 22:53:48 From FishC Mobile | 显示全部楼层
本帖最后由 C1em 于 2023-8-9 21:04 编辑

新的一周继续加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-6 22:53:48 From FishC Mobile | 显示全部楼层
好高级呀,需要仔细研究研究。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-6 23:01:43 From FishC Mobile | 显示全部楼层
6666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-6 23:06:35 From FishC Mobile | 显示全部楼层
本帖最后由 clollipops 于 2023-7-25 18:27 编辑

火爆全球的主流图片压缩方案自动化脚本
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-6 23:30:10 | 显示全部楼层
666,感谢分享,收藏了好好研究研究~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-6 23:43:21 From FishC Mobile | 显示全部楼层
这个值得收藏,反复观看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-7 08:08:36 From FishC Mobile | 显示全部楼层
666  慢慢学
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-7 11:00:34 | 显示全部楼层
打卡,目前我的实力还不允许我写出来呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2023-7-7 14:47:27 | 显示全部楼层
朕想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 03:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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