韩梅梅学python之序章:一行命令,更新flutter工程下所有图标

1,314 阅读5分钟

1. 万事俱备,只欠图标

李雷经过一个月的奋战,终于完成了一个flutter应用的开发。 打算上线了才发现,图标还是flutter自带的图标呢,赶紧向设计师韩梅梅求救。 设计师韩梅梅拿出准备已久的Logo丢给李雷,李雷傻眼了。

李雷:“怎么只有一个?”
韩梅梅:“难道安卓和iOS要用不同的图标?”
李雷:“不是啊。同样的图标不同的尺寸。
      安卓图标五六个 ,iOS图标十几个吧。
      我给你列个列表吧,尺寸都告诉你。你帮忙resize一下吧。”
韩梅梅:”宝宝心里苦...“
李雷:“嗯,我想想办法吧...”

于是李雷回到工位上默默的开始写脚本...

2. 苦尽甘来,势如破竹

经过一天的努力,李雷开始进行他第1024次实验。 当时他敲出了下面一行命令:

flutter_logo_updater logo_file_path project_file_path

随后脚本开始运行,屏幕上滚动出如下的输出:

$ flutter_logo_updater msks/images/logo_lxb.png  msks

==================================================
PROJECT LOGO Updating...
        In /Users/lilei/Documents/w/msks
        With /Users/lilei/Documents/w/msks/images/logo_lxb.png

--------------------------------------------------
[01/20]->(48*48)        /Users/lilei/Documents/w/msks/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
[02/20]->(72*72)        /Users/lilei/Documents/w/msks/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
[03/20]->(96*96)        /Users/lilei/Documents/w/msks/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
[04/20]->(144*144)      /Users/lilei/Documents/w/msks/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
[05/20]->(192*192)      /Users/lilei/Documents/w/msks/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
[06/20]->(20*20)        /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
[07/20]->(29*29)        /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
[08/20]->(40*40)        /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
[09/20]->(40*40)        /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
[10/20]->(58*58)        /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
[11/20]->(60*60)        /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
[12/20]->(76*76)        /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
[13/20]->(80*80)        /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
[14/20]->(87*87)        /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
[15/20]->(120*120)      /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
[16/20]->(120*120)      /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
[17/20]->(152*152)      /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
[18/20]->(167*167)      /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
[19/20]->(180*180)      /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
[20/20]->(1024*1024)    /Users/lilei/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
==================================================

抑制不住内心的激动,李雷火速打开VSCode,查看结果

更新成功后的画面

李雷:“成功了! I did it !”

3. 水到渠成,天下为公

为了拯救更多的“韩梅梅”,李雷把他的源码放到github上。 同时,为了便于大家使用,还打包发布到了pypi上

工程师小伙伴只需要一行命令就可以安装了:

pip install flutter_logo_updater

用法?刚才说过了:

flutter_logo_updater your_1024_logo.png  your_flutter_project_dir

一切终于搞定了,李雷伸了个懒腰。 一回头,看到韩梅梅正站在身后,热泪盈眶...

全部故事:

韩梅梅学python之序章:一行命令,更新flutter工程下所有图标

李雷经过一个月的奋战,终于完成了一个flutter应用的开发。
打算上线了才发现,图标还是flutter自带的图标呢,赶紧向设计师韩梅梅求救。
设计师韩梅梅拿出准备已久的Logo丢给李雷,李雷傻眼了。
李雷:“怎么只有一个?”
韩梅梅:“难道安卓和iOS要用不同的图标?”
李雷:“不是啊。同样的图标不同的尺寸。
      安卓图标五六个 ,iOS图标十几个吧。
      我给你列个列表吧,尺寸都告诉你。你帮忙resize一下吧。”
韩梅梅:”宝宝心里苦...“
李雷:“嗯,我想想办法吧...”

韩梅梅学python之一:python3中f-string 格式化固定宽度的数字

书接上回
看到工程师李雷能用一行命令,更新flutter工程下所有图标,
韩梅梅深刻的体会到,这(zhe)门(ge)语(nan)言(ren)如此优秀,一定不能错过。
于是找到李雷:
韩梅梅:“李雷,上次见到你用python更新图标,感觉好棒啊”
李雷:“Python确实是很好用的”
韩梅梅:“我能学会吗”
李雷:“有我在,怎么可能学不会呢?我们先从最简单的Hello world开始吧”
......

韩梅梅学python之二:黄金分割和五角星

学完python3中f-string 格式化固定宽度的数字,
李雷如约上门安装安装python,折腾了很大一通李雷和韩梅梅都感觉很累。
于是李雷提议到公园玩耍,他提前做足了功课,
学习了很多拍照到知识,终于用上了,尤其是构图比例,一律黄金分割。 ...

韩梅梅学Python之三:斐波那契

经过上次的授课经历,李雷发觉,韩梅梅对图形绘制这块很感兴趣。
于是绞尽脑汁,谷歌百度,寻找各种素材。经过反复实验终于完成了备课工作。
于是乎掰着手指头,从周一盼到了周六。
“梅梅,我们先看一个神奇的公式,以及如何用python实现它”

专栏韩梅梅学Python之四:一行命令,图片全灰

2020年4月4日,一大早,老板急冲冲的打电话给韩梅梅。

李老板:“全国网站都灰了,为啥我们自己的网站还这么鲜艳。”

韩梅梅:“好多图改不过来。”

李老板:“本来你应该提前准备的。结果搞成现在这么被动。 我们是创业公司,每个员工都应该是创业者。 作为一个合格的创业者,要有远见,有自驱, 不要什么都不考虑,不要什么都等安排。

如果你觉得自己不想当创业者,那就去找份大厂的工作。 如果你是个创业者,就拿出创业者的劲头加个班搞定吧。”

还没等韩梅梅回答,电话就被挂断了。