App图标生成器的实现,附源码
背景
网上各种生成app图标的网站和工具,感觉还是用自己写的心里畅快点,所以花了1个小时自己写了个。按照网上给的图标尺寸规范把所有尺寸的都生成了。
建了一个讨论群,533838427。很明显是针对独立开发的兄弟的,这小程序也看出来了,android、ios一把抓,希望也在趟这苦海的朋友一起交流。
源码下载地址:
链接: http://pan.baidu.com/s/1qXuZgXu 密码: ihfp

说明
c#写的,生成Andorid和Ios的所有图标尺寸。要是觉得尺寸不对或者命名规则不合适自己可以代码里立刻修改。代码里面备注还是很详细的。
1.修改尺寸
在Model里,把Android和Ios的尺寸分开保存在数组里面,可以根据需要调整。
public class AndroidSizes
{
public static int[] mdpiSizes = { , , , };
public static int[] hdpiSizes = { ,,, };
public static int[] xhdpiSizes = { , , , };
public static int[] xxhdpiSizes = { , , , };
} public class IosSizes
{
public static int[] icon3Sizes = { , , , , , , };
public static int[] icon2Sizes = { , , , , , , };
public static int[] icon1Sizes = { , , , , , , };
}
2.修改保存文件夹和命名规范
现在的文件夹命名规范是ios按1X、2X、3X直接保存在一个文件夹里面,按类型命名
android是按照xhdpi、hdpi、xxhdpi分别保存的,按尺寸命名
如果要修改命名可以在form的backgroundworker里面找到,这里图省事就直接逻辑写进去了。
private string CreateFolder(string file)
{
string filePath = Path.GetDirectoryName(file);
string fileName = Path.GetFileNameWithoutExtension(file);
string root = filePath + "\\" + fileName;
//根目录
if (!Directory.Exists(root))
{
Directory.CreateDirectory(root);
}
//子目录
foreach (string child in childFolders)
{
if (!Directory.Exists(root + "\\" + child))
{
Directory.CreateDirectory(root + "\\" + child);
}
}
return root;
} private void CreateIOSThumbs(string folder, string file)
{
//@1x
foreach (int size in Model.IosSizes.icon1Sizes)
{
string thumb = folder + "\\ios\\@1x" + size + ".png";
DAL.ImageConvert.MakeThumbnail(file, thumb, size, size, "HW");
} //@2x
foreach (int size in Model.IosSizes.icon2Sizes)
{
string thumb = folder + "\\ios\\@2x" + size + ".png";
DAL.ImageConvert.MakeThumbnail(file, thumb, size, size, "HW");
} //@3x
foreach (int size in Model.IosSizes.icon3Sizes)
{
string thumb = folder + "\\ios\\@3x" + size + ".png";
DAL.ImageConvert.MakeThumbnail(file, thumb, size, size, "HW");
}
} private void CreateANDROIDThumbs(string folder, string file)
{
// "android", "android\\hdpi", "android\\mdpi", "android\\xhdpi", "android\\xxhdpi"
//hdpi
foreach (int size in Model.AndroidSizes.hdpiSizes)
{
string thumb = folder + "\\android\\hdpi\\" + size + ".png";
DAL.ImageConvert.MakeThumbnail(file, thumb, size, size, "HW");
}
//mdpi
foreach (int size in Model.AndroidSizes.mdpiSizes)
{
string thumb = folder + "\\android\\mdpi\\" + size + ".png";
DAL.ImageConvert.MakeThumbnail(file, thumb, size, size, "HW");
} //xhdpi
foreach (int size in Model.AndroidSizes.xhdpiSizes)
{
string thumb = folder + "\\android\\xhdpi\\" + size + ".png";
DAL.ImageConvert.MakeThumbnail(file, thumb, size, size, "HW");
} //xxhdpi
foreach (int size in Model.AndroidSizes.xxhdpiSizes)
{
string thumb = folder + "\\android\\xxhdpi\\" + size + ".png";
DAL.ImageConvert.MakeThumbnail(file, thumb, size, size, "HW");
}
}
参考
http://www.uigreat.com/guifan/ 尺寸规范
http://www.cnblogs.com/zzy2740/archive/2012/02/29/2374648.html 缩略图生成
自己在做独立开发,希望广结英豪,尤其是像我一样脑子短路不用react硬拼anroid、ios原生想干点什么的朋友。
App独立开发群533838427
微信公众号『懒文』-->lanwenapp<--
App图标生成器的实现,附源码的更多相关文章
- 开源方案搭建可离线的精美矢量切片地图服务-8.mapbox 之sprite大图图标文件生成(附源码)
项目成果展示(所有项目文件都在阿里云的共享云虚拟主机上,访问地图可以会有点慢,请多多包涵). 01:中国地图:http://test.sharegis.cn/mapbox/html/3china.ht ...
- openlayers4 入门开发系列之地图标绘篇(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)
前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个 ...
- 使用 CSS3 动感的图片标题动画效果【附源码下载】
在网站中,有很多地方会需要在图片上显示图片标题.使用 CSS3 过渡和变换可以实现动感的鼠标悬停显示效果.没有使用 JavaScript,所以只能在支持 CSS3 动画的现代浏览器中才能正常工作.您可 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(6)-Unity 2.x依赖注入by运行时注入[附源码]
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(6)-Unity 2.x依赖注入by运行时注入[附源码] Unity 2.x依赖注入(控制反转)IOC,对 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(2)-easyui构建前端页面框架[附源码]
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(2)-easyui构建前端页面框架[附源码] 开始,我们有了一系列的解决方案,我们将动手搭建新系统吧. 用 ...
- 极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)
原文:极限挑战-C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码) 实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方 ...
- Android中Canvas绘图基础详解(附源码下载) (转)
Android中Canvas绘图基础详解(附源码下载) 原文链接 http://blog.csdn.net/iispring/article/details/49770651 AndroidCa ...
- 为SRS流媒体服务器添加HLS加密功能(附源码)
为SRS流媒体服务器添加HLS加密功能(附源码) 之前测试使用过nginx的HLS加密功能,会使用到一个叫做nginx-rtmp-module的插件,但此插件很久不更新了,网上搜索到一个中国制造的叫做 ...
- Django集成Markdown编辑器【附源码】
专注内容写作的你一定不要错过markdown 简单介绍 markdown是一种标记语言,通过简单的标记语法可以使普通的文本内容具有一定的格式,使用非常简单,学习成本极低 目前各大Blog平台都已支持m ...
随机推荐
- 简单的企业会议管理cms后台模板——后台
链接:http://pan.baidu.com/s/1eRAVAka 密码:olr1
- 69.Spartan-6的SelectIO资源
2.1.6 SelectIO资源 Spartan-6有丰富的I/O资源,包括SelectIO和RocketIO. Spartan-6每个I/O片(Tile)包含两个IOB.两个ILOGIC2.两个OL ...
- React 16 源码瞎几把解读 【三 点 二】 react中的fiberRoot
〇.先来看看常用的常量 NoWork = 0 noTimeout = undefined HostRoot = 3 NoContext = 0b000; AsyncMode = 0b001; Stri ...
- 【bzoj4293】【PA2015】Siano
如题,首先可以考虑相对大小是不变的. 那么先sort,之后每次在线段树上二分即可. #include<bits/stdc++.h> typedef long long ll; using ...
- Python模块之pxssh
pxssh模块用于在python中ssh远程连接,执行命令,返回结果,但注意不支持Windows系统 #!/usr/bin/env python #-*- coding:utf-8 -*- from ...
- go语言入门(一)
环境安装 Go 语言支持以下系统: Linux FreeBSD Mac OS X(也称为 Darwin) Window 安装包下载地址为:https://golang.org/dl/. Windows ...
- [ python ] 变量及基础的数据类型
python2 和 python3 不同的编码方式 python2 默认编码方式是 ascii码 python3 默认编码方式是 utf-8 具体表现为:当 python3 和 python2 在打印 ...
- untiy3d学习笔记
Unity3d 记录 1.63讲 主要讲了menicam 从3D软件里面导出过后,注意如果是人物模型命名一定要非常清晰并且对称.选择到模型后等到到humanoid后可以使用menicam.然后使用me ...
- CPU运行时间——time
用途说明time命令常用于测量一个命令的运行时间,注意不是用来显示和修改系统时间的(这是date命令干的事情).但是今天我通过查看time命令的手册页,发现它能做的不仅仅是测量运行时间,还可以测量内存 ...
- java并发编程实战笔记---(第二章)线程安全:正确性
ThreadA__________ 同步 ______________ 异步 ___________ 异步 ThreadB__________ ____________ ...