背景

网上各种生成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. Go Web 编程 第一章 Web相关概念

    第一章 Go与Web应用 Go学习群:415660935 1.1 Web应用 在计算机的世界里,应用(application)是一个与用户进行交互,并完成用户特定任务的软件程序.而Web应用则是部署在 ...

  2. android Timer TimerTask用法笔记

    Android中经常会遇到执行一些周期性定时执行的任务.初学的时候经常会使用Thread.sleep()方法.在android中,有Timer可以专门干这个事情. 先看看Timer.class中都是些 ...

  3. thinkphp中的验证器

  4. go标识符、变量、常量

    标识符 标识符是用来表示Go中的变量名或者函数名,以字母或_开头.后可跟着字母.数字. _ 关键字 关键字是Go语言预先定义好的,有特殊含义的标识符. 变量 1. 语法:var identifier ...

  5. keepalived主备切换后的arp问题【转】

    使用keepalived的时候主机挂了,备机显示绑定了VIP.但是此时实际还是不能访问.其实就是网关的arp缓存没有刷新.   在服务器上执行一下就行了 arping -I eth0 -c 5 -s ...

  6. 全面了解 Nginx 主要应用场景

    前言 本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得.所以还请见谅,同时欢迎留言交流 N ...

  7. C中常用格式格式码

    一.常用printf格式码 二.常用scanf格式码

  8. CentOS 7 中 Docker 的安装

    CentOS 7 中 Docker 的安装 Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum 命令: [root@loc ...

  9. PHP的instanceof关键字

    PHP5的另一个新成员是instdnceof关键字.使用这个关键字可以确定一个对象是类的实例.类的子类,还是实现了某个特定接口,并进行相应的操作.在某些情况下,我们希望确定某个类是否特定的类型,或者是 ...

  10. 安装scrapy 出错 building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required.

    安装Scrapy出现错误: building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required. ...