在给Android游戏或app打包时,经常会遇到有几十上百个渠道的问题。不同的渠道app的名字不一样,icon也可能不一样。程序员总是懒的,最烦手动去改来改去。因此用Python写了一个自动裁剪不同尺寸的icon,并保存到Android对应的icon目录下的脚本。

这里贴下代码,留个脚印。日后直接拷贝使用。(记得安装下pillow第三方库。pip install pillow)

#!/usr/bin/python

# -*- coding:utf-8 -*-

# 此脚本功能:根据一张大的icon自动生成不同尺寸的icon,并保存到对应目录下

import os

from PIL import Image

# 原始icon文件名,必须与脚本同目录下

ORIGIN_ICON_PATH = "icon.png"

# 输出icon的目录和icon文件名

OUTPUT_ICON_PATH = "proj.android/res/drawable-"

OUTPUT_ICON_NAME = "icon"

ICON_SIZE_DICT = {"ldpi": (36, 36), "mdpi": (48, 48), "hdpi": (72, 72), "xhdpi": (96, 96), "xxhdpi": (114, 114)}

def make_more_images():

if not os.path.isfile(ORIGIN_ICON_PATH) and not os.path.exists(ORIGIN_ICON_PATH):

print ORIGIN_ICON_PATH + " is NOT exist."

return

im = Image.open(ORIGIN_ICON_PATH)

print "origin size: " + im.size.__str__()

if im.size[0] != im.size[1]:

print "width and height MUST be same."

return

if im.size[0] < ICON_SIZE_DICT.get("xxhdpi")[0]:

print "image size is TOO small."

return

for dpi, size in ICON_SIZE_DICT.items():

path = OUTPUT_ICON_PATH + dpi

if not os.path.isdir(path):

print "make [" + dpi + ": " + size.__str__() + "] fail. why: "\

+ os.path.basename(path) + " is invalid folder."

continue

path = path + "/" + OUTPUT_ICON_NAME + ".png"

if os.path.isfile(path) and os.path.exists(path):

os.remove(path)

im.resize(size).save(path, "PNG")

print "make [" + dpi + ": " + size.__str__() + "] success."

if __name__ == "__main__":

print '======MAKE ICON START======'

make_more_images()

print '=======MAKE ICON END======='

os.system("pause")

android目录icon,自动裁剪Android ICON并保存到对应路径脚本相关推荐

  1. android 仿微信头像裁剪,Android仿微信QQ设置图形头像裁剪功能

    最近在做毕业设计,想有一个功能和QQ一样可以裁剪头像并设置圆形头像,额,这是设计狮的一种潮流. 而纵观现在主流的APP,只要有用户系统这个功能,这个需求一般都是在(bu)劫(de)难(bu)逃(xue ...

  2. android系统相机自动录像,android 调用系统相机录像并保存

    1.在AndroidManifest.xml中添加如下代码 tools:ignore="ProtectedPermissions" /> android:authoritie ...

  3. android 仿微信头像裁剪,android 模仿微信头像裁剪

    android 在android开发中经常会碰到修改头像的功能需求, 而在修改头像>中最难的部分就是在头像的裁剪功能.虽说网上一大堆裁剪的例子,但最重要的是要理解里面的实现原理,这样以后自己改起 ...

  4. android 进度条自动增长,Android 进度条自动前进效果的实现代码

    今天给大家分享进度条自动前进功能的实现,先给大家分享实现效果图,感觉不错可以参考实现代码. 效果如下图: 首先布局要设置进度条最大值: android:id="@+id/pro1" ...

  5. android短信功能裁剪,Android短信发送功能实现技巧分享

    如现在启动一模拟器id 号为5554,运行cmd telnet localhost 5554 输入help 可以看到很多用于模拟器中的功能命令 gsm call 134343434   // 便是呼叫 ...

  6. android 阅读器自动滚动,Android编程实现小说阅读器滑动效果的方法

    本文实例讲述了Android编程实现小说阅读器滑动效果的方法.分享给大家供大家参考,具体如下: 看过小说都知道小说阅读器翻页有好多种效果,比如仿真翻页,滑动翻页,等等.由于某种原因,突然想写一个简单点 ...

  7. android 静态图片自动切换,Android静态图片人脸识别的完整demo(附完整源码)

    Android静态图片人脸识别的完整demo(附完整源码) 来源:互联网 作者:佚名 时间:2015-03-24 20:07 本文介绍了android静态识别人脸并进行标记人眼位置及人脸框的完整dem ...

  8. 有关Photoshop批量导出PSD图层到PNG文件无法自动裁剪成icon本身大小的问题

    通过http://kuaiqie.qdsay.com/对原设计图进行在线快速切图以后,本想用PS把设计图PSD文件中的所有图层(主要是那些icon)批量导出成png,省去单张选中再保存成png的时间. ...

  9. android ble 实现自动连接,Android:自动重新连接BLE设备

    经过多次试验和磨难之后,这就是我最好让Android自动连接的唯一用户操作是首先选择设备(如果使用设置菜单然后首先配对). 您必须将配对事件捕获到BroadcastReceiver中并执行Blueto ...

最新文章

  1. 史上最伟大的20位程序员中,遗憾没有中国人
  2. 如何提高PyTorch“炼丹”速度?这位小哥总结了17种方法,可直接上手更改的那种...
  3. 动态代理以及对应Spring中AOP源码分析
  4. Photoshop绘制植物大战僵尸中的食人花
  5. 敏捷需要重构吗?不需要吗?
  6. LeetCode 606. 根据二叉树创建字符串(递归)
  7. 数学分析闭区间套定理_【缠论基础】区间套
  8. vlan为什么能隔离广播域_【思唯网络学院】VLAN是二层技术还是三层技术?
  9. 开发团队人员配备及工作分配
  10. 数商云跨境电商平台解决方案 1
  11. 虚拟机web服务器安装与配置,实验Web服务器的安装与配置.doc
  12. 1.2 信息安全标准与规范
  13. Spring Security OAuth2 开发指南
  14. Android渲染时间 太长,Android性能优化之渲染篇
  15. 房子装修选择自装,要敲墙如何在手机上申请住建局装修备案,几分钟即可拿到电子版备案通知书
  16. [Ynoi2015]即便看不到未来
  17. 返回上一步编辑或者上几步或者想恢复删除的代码
  18. 广域网 (PPP协议 HDLC协议)、链路层设备
  19. python支持强大的科学计算功能_用 Python 写高效科学计算程序设计
  20. input 输入事件防抖

热门文章

  1. Linux正则表达式(基于awk)
  2. 华为设备中小园区组网
  3. iOS开发inputView和inputAccessoryView
  4. ⭐openGauss数据库源码解析系列文章—— 对象权限管理⭐
  5. 瀚高数据库DML自动转发功能介绍(数据库层面)
  6. js前端3des加密 后台java解密
  7. 【软件工程】--维护阶段
  8. PADS VX2.8 router锁定保护的设置方法
  9. openjdk和jdk的区别与联系
  10. 基于Aidlux的人体识别、人体追踪与人数统计获取