Python 制作Android开发 所需的适配不同分辨率的套图
使用Python做起工具来还真是爽,简单,方便,快捷。今天忙活了一下,制作出一个比较实用的小工具。
尤其是对于android开发来说,要适配不同屏幕就需要多套切图,那么。这款工具将让你脱离切图的苦海,拥抱愉快开发的怀抱。
编程之禅
这次的工具制作,可谓是煞费苦心了。我尝试着让自己处于一个用户的角度,来思考整个流程的实现,最终得到了一个比较不错的结论。
less operations, more goods
所以,基本上来说,我隐藏了底层实现的很多的细节。
怎么使用?
这个工具使用起来也是相当的简单的。如下:
因为这个工具是基于Python2.7开发的,所以需要有Python环境的支持。
- 第一步:任意找到一个文件夹
python ImageGenerate.py init
来执行初始化工作目录的工作,执行结束后,我们会发现当前文件夹下多了几个目录。下面详细介绍一下:
- 第二步:在modules目录下的cfg.txt文件中写上如下类型的数据:
1080x1920
1128x1920
423x800
480x800
552x1024
600x1024
720x1024
736x1280
752x1280
再次执行
python ImageGenerate.py init
就可以看到下面的文件结构:
E:\Code\Python\DataStructor\release>tree
卷 文档 的文件夹 PATH 列表
卷序列号为 0000-4823
E:.
├─destination 用于存放生成的不同的屏幕适配图片
│ ├─1080x1920
│ ├─1128x1920
│ ├─423x800
│ ├─480x800
│ ├─552x1024
│ ├─600x1024
│ ├─720x1024
│ ├─736x1280
│ └─752x1280
├─modules 存放配置文件,也即是分辨率方案,待会详谈
└─source 标准的美工图片1080*1920分辨率即可,将作为我们的图片生成参考
- 第三步,批量生成:在source文件夹下面放置要生成套图的标准图片即可,任意张数
python ImageGenerate.py generate
该命令的工作原理是,根据source文件夹下列出的标准图片,来生成不同分辨率的匹配图,且给予良好的命名规范,便于用户使用。
结果如下:
E:.
│ ImageGenerate.py
│
├─destination
│ ├─1080x1920
│ │ beauty-1080x1920.png
│ │ resize-1080x1920.png
│ │
│ ├─1128x1920
│ │ beauty-1128x1920.png
│ │ resize-1128x1920.png
│ │
│ ├─423x800
│ │ beauty-423x800.png
│ │ resize-423x800.png
│ │
│ ├─480x800
│ │ beauty-480x800.png
│ │ resize-480x800.png
│ │
│ ├─552x1024
│ │ beauty-552x1024.png
│ │ resize-552x1024.png
│ │
│ ├─600x1024
│ │ beauty-600x1024.png
│ │ resize-600x1024.png
│ │
│ ├─720x1024
│ │ beauty-720x1024.png
│ │ resize-720x1024.png
│ │
│ ├─736x1280
│ │ beauty-736x1280.png
│ │ resize-736x1280.png
│ │
│ └─752x1280
│ beauty-752x1280.png
│ resize-752x1280.png
│
├─modules
│ cfg.txt
│
└─source
beauty.png
resize.png
拓展
为了支持更多的屏幕适配方案,本工具特地使用了配置文件来维护,也就是modules/cfg.txt文件。
注意:
以字典顺序书写width*height格式,如:
1080x1920
1128x1920
423x800
480x800
552x1024
600x1024
720x1024
736x1280
752x1280
好了,就是这样了。源码也已经上传到GitHub,如果你对这个小工具也很感兴趣,可以和我取得联系。
:-)
Python 制作Android开发 所需的适配不同分辨率的套图的更多相关文章
- 收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。
AndroidDevTools Android Dev Tools官网地址:www.androiddevtools.cn 收集整理Android开发所需的Android SDK.开发中用到的工具.An ...
- Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式
Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager frag ...
- Python音视频开发:消除抖音短视频Logo的图形化工具实现
☞ ░ 前往老猿Python博文目录 ░ 一.引言 在<Python音视频开发:消除抖音短视频Logo和去电视台标的实现详解>节介绍了怎么通过Python+Moviepy+OpenCV实现 ...
- Android 开发中的屏幕适配技术详解
本文主要介绍Android开发中比较头疼繁琐的一个问题-屏幕适配问题.主要从适配原因.基本核心概念.适配方法等方面介详细 介绍从而是的深入或者进一步对Android屏幕适配技术的掌握和理解. 真题园网 ...
- Python进行Android开发步骤
移动应用开发 1. 建立开发环境 下载软件开发包(SDK): http://developer.android.com/sdk/index.html adt-bundle- ...
- Android - 开发页面需了解的dip,sp,px知识,以及它们的转换
工作中,时常会有任务要求开发新页面,这时一般的流程是产品经理确定要开发的页面和功能,然后设计师提供设计稿,之后由我们开发人员完成开发工作. 通常,设计师提供的设计稿尺寸标注会很详细,例如涉及到字时,字 ...
- Android开发 所需组件配置
1 Unity中的Android Build Support下载 在Unity中的File>Building Settings>Android>Open Download Page, ...
- Android开发学习之路-自定义控件(天气趋势折线图)
之前写了个天气APP,带4天预报和5天历史信息.所以想着要不要加一个折线图来显示一下天气变化趋势,难得有空,就写了一下,这里做些记录,脑袋不好使容易忘事. 先放一下效果: 控件内容比较简单,就是一个普 ...
- Android开发 获取视频中的信息(例如预览图或视频时长) MediaMetadataRetriever媒体元数据检索器
前言 在Android里获取视频的信息主要依靠MediaMetadataRetriever实现 获取最佳视频预览图 所谓的最佳就是MediaMetadataRetriever自己计算的 /** * 获 ...
随机推荐
- 手写java虚拟机(一)——搭建环境
毕业设计打算做一个java虚拟机,首先要对java虚拟机有一个简单的了解(jvm).目前市面上有众多的jvm,如sun公司的HotSpot VM.Classic VM,IBM公司的J9 VM等等,这里 ...
- Java知IO
---恢复内容开始--- Java将IO(文件.网络.终端)封装成非常多的类,看似繁杂,其实每个类的具有独特的功能. 按照存取的对象是二进制还是文本,java使用字节流和字符流实现IO. 流是java ...
- [LeetCode] Self Dividing Numbers 自整除数字
A self-dividing number is a number that is divisible by every digit it contains. For example, 128 is ...
- 教你从手机中提取system镜像制作线刷救砖包的简单方法
其实在制作刷机包的过程中,有时候没有官方或者第三方提供的救砖包(线刷),那怎么办?常规的方法有两种:(此处为常规方法,回读的方式暂不说明) 1.卡刷包转线刷包 2.dd命令导出分区镜像 ...
- [POJ 2248]Addition Chains
Description An addition chain for n is an integer sequence with the following four properties: a0 = ...
- bzoj 4870: [Shoi2017]组合数问题
Description Solution 考虑这个式子的组合意义: 从 \(n*k\) 个球中取若干个球,使得球的数量 \(\%k=r\) 的方案数 可以转化为 \(DP\) 模型,设 \(f[i][ ...
- 【NOIP2014TG】solution
链接:https://www.luogu.org/problem/lists?name=&orderitem=pid&tag=83|31 D1T1(rps) 题意:给你一个周期,以及胜 ...
- 【NOIP2016】【LCA】【树上差分】【史诗级难度】天天爱跑步
学弟不是说要出丧题吗>>所以我就研究了1天lca又研究了1天tj然后研究了一天天天爱跑步,终于写了出来.(最后的平均用时为240ms...比学弟快了1倍...) 题意:给你颗树,然后有m个 ...
- [BZOJ]1085 骑士精神(SCOI2005)
这种鲜明的玄学风格很明显就是十几年前的题目. Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位.在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐 ...
- ssh远程登陆
ssh远程登录命令简单实例 ssh命令用于远程登录上Linux主机. 常用格式:ssh [-l login_name] [-p port] [user@]hostname 更详细的可以用ssh ...