背景

网上各种生成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图标生成器的实现,附源码的更多相关文章

  1. 开源方案搭建可离线的精美矢量切片地图服务-8.mapbox 之sprite大图图标文件生成(附源码)

    项目成果展示(所有项目文件都在阿里云的共享云虚拟主机上,访问地图可以会有点慢,请多多包涵). 01:中国地图:http://test.sharegis.cn/mapbox/html/3china.ht ...

  2. openlayers4 入门开发系列之地图标绘篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

  3. MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)

    前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个 ...

  4. 使用 CSS3 动感的图片标题动画效果【附源码下载】

    在网站中,有很多地方会需要在图片上显示图片标题.使用 CSS3 过渡和变换可以实现动感的鼠标悬停显示效果.没有使用 JavaScript,所以只能在支持 CSS3 动画的现代浏览器中才能正常工作.您可 ...

  5. 构建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,对 ...

  6. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(2)-easyui构建前端页面框架[附源码]

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(2)-easyui构建前端页面框架[附源码] 开始,我们有了一系列的解决方案,我们将动手搭建新系统吧. 用 ...

  7. 极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)

    原文:极限挑战-C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码) 实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方 ...

  8. Android中Canvas绘图基础详解(附源码下载) (转)

    Android中Canvas绘图基础详解(附源码下载) 原文链接  http://blog.csdn.net/iispring/article/details/49770651   AndroidCa ...

  9. 为SRS流媒体服务器添加HLS加密功能(附源码)

    为SRS流媒体服务器添加HLS加密功能(附源码) 之前测试使用过nginx的HLS加密功能,会使用到一个叫做nginx-rtmp-module的插件,但此插件很久不更新了,网上搜索到一个中国制造的叫做 ...

  10. Django集成Markdown编辑器【附源码】

    专注内容写作的你一定不要错过markdown 简单介绍 markdown是一种标记语言,通过简单的标记语法可以使普通的文本内容具有一定的格式,使用非常简单,学习成本极低 目前各大Blog平台都已支持m ...

随机推荐

  1. 【洛谷 P3965】 [TJOI2013]循环格(费用流)

    题目链接 回路限制经典题. 每个点拆成入点和出点,源点连每个点的出点,流量1,费用0,每个点出点连汇点,流量1,费用0,入点和出点之间没有边. 也就是说每个点必须靠其他点流来的流量来流入汇点,同时自己 ...

  2. 2018中国科大自主测试-B卷部分试题

    数学部分 z = e^{\frac{2i\pi}{3}}, 求z^{2018}. \sin(2x) = \frac 35, 求\frac{\tan(x+15^{\circ})}{\tan(x-15^{ ...

  3. [整理] magento搬家

    将原来网站文件中的var文件中的cache和session文件删除,将media中的缓存文件删除.然后将所有文件制作成一个压缩包,以减少文件体积,方便转移. 将压缩包转移到新的服务器域名指向的文件夹, ...

  4. koa源码阅读[0]

    koa源码阅读[0] Node.js也是写了两三年的时间了,刚开始学习Node的时候,hello world就是创建一个HttpServer,后来在工作中也是经历过Express.Koa1.x.Koa ...

  5. Hbuilder连接第3方模拟器(夜神)

    http://www.bcty365.com/content-146-5148-1.html

  6. 16级第二周寒假作业E题

    Home_W的位运算4 TimeLimit:2000MS  MemoryLimit:128MB 64-bit integer IO format:%I64d Problem Description 给 ...

  7. VMvare 复制的数据库,需要改变的配置

    当我在VMware 上安装了一个linux虚拟机,同时在虚拟机上安装了一系列软件(包括数据库) 我们会修改hostname  ,修改后 对于数据库:我们要把/u01/app/oracle/produc ...

  8. rebbitmq之python_pika监控远程连接及自动恢复(七)

    前言 客户端连接rabbitmq后,如果长时间没有数据的传输,rabbitmq会申请关闭TCP连接,造成该TCP连接下的所有的信道都不可用,很多时候为了传输数据的高效率,我们会先创建一个信道池,这样省 ...

  9. 浅析busybox如何集成到openwrt

    背景 近日添加了一个包到openwrt中,在此过程中又对openwrt多了一些认识 这个包本身自带了kconfig,可直接在这个包里面执行make menuconfig进行配置,然后执行make 但要 ...

  10. 2017 CERC

    2017 CERC Problem A:Assignment Algorithm 题目描述:按照规则安排在飞机上的座位. solution 模拟. 时间复杂度:\(O(nm)\) Problem B: ...