老早之前做IOS APP开发,为折腾一个IOS应用的Icon,用C#写了一个简单的IOS应用开发Icon规格自动裁剪器,但时过境迁,目前IOS设备屏幕规格也是越来越多,一个版本就要生成好几种规格分辨率的Icon,用PS什么的一个一个生成费劲,如果Icon有变动又得重新生成一次,所以还是整个程序来干这活比较轻松。

思路很简单,先导入一张大图(注意:这张图必须大于等于1024*1024,因为iTunesArtwork@2x的规格是1024*1024),然后生成对应像素的小图,最后保存出来。

首先来看一下目前这些Icon规格:

//for Ad Hoc Only
iTunesArtwork@2x:1024*1024
iTunesArtwork:512*512//for App Icon
Icon-60@3x.png:180*180 //iPhone 6 Plus (@3x)
Icon-60@2x.png:120*120 //iPhone 6 and iPhone 5 (@2x)
Icon-76@2x.png:152*152 //iPad and iPad mini (@2x)
Icon-76.png:76*76   //iPad 2 and iPad mini (@1x)
Icon.png:57*57  //iPhone Non-Retina (iOS 6.1 and Prior)
Icon@2x.png:114*114    //iPhone Retina (iOS 6.1 and Prior)
Icon-72.png:72*72   //iPad Non-Retina (iOS 6.1 and Prior)
Icon-72@2x.png:144*144 //iPad Retina (iOS 6.1 and Prior)//for Spotlight search results icon
Icon-40.png:40*40   //iPad Non-Retina
Icon-40@2x.png:80*80 //iPad Retina
Icon-40@3x.png:120*120 //iPhone 6 Plus//for Settings icon
Icon-29.png:29*29   //iPhone Non-Retina (iOS 6.1 and Prior)
Icon-29@2x.png:58*58   //iPhone Retina (iOS 6.1 and Prior)
Icon-29@3x.png:87*87   //iPhone 6 Plus
Icon-50.png:50*50   //iPad Non-Retina (iOS 6.1 and Prior)
Icon-50@2x.png:100*100 //iPad Retina (iOS 6.1 and Prior)

这里我使用C#来写,主要是考虑到C#里Bitmap类有一个GetThumbnailImage()方法很容易实现图像缩小,经过简单的包装实现图像裁剪的函数如下:

        /// <summary>/// 获取等比例缩放图片的方法/// </summary>/// <param name="imgPath">待缩放图片路径</param>/// <param name="savePath">缩放图片保存路径</param>/// <param name="format">缩放图片保存的格式</param>/// <param name="scaling">要保持的宽度或高度</param>/// <returns></returns>public bool GetThumbnail(string imgPath, string savePath, ImageFormat format, int scaling){try{using (Bitmap myBitmap = new Bitmap(imgPath)){using (Image myThumbnail = myBitmap.GetThumbnailImage(scaling, scaling, () => { return false; }, IntPtr.Zero)){myThumbnail.Save(savePath, format);}}return true;}catch{return false;}}

最终运行效果图:

生成的Icon:

具体代码可以在这下载:http://download.csdn.net/detail/wangqiuyun/7976361

转载请注明:http://blog.csdn.net/wangqiuyun/article/details/39576293

最新 IOS应用开发Icon规格自动裁剪器(C#)相关推荐

  1. 小工具开发笔记—IE自动填表器—第一篇:你好,世界

    系列导航: 小工具开发笔记-IE自动填表器-第零篇:序 小工具开发笔记-IE自动填表器-第一篇:你好,世界 继上篇博文初步介绍了小工具,本文就作为开发笔记正文第一篇,来叙述一下如何使用C++开发一个完 ...

  2. iOS软件开发 - 基于ijkPlayer的播放器框架

    基于ijkPlayer的播放器,支持网络视频.RTMP直播.视频转播等 3分钟快速集成播放器,支持小屏.全屏模式 分享之前我还是要推荐下我自己建的iOS开发学习群:680565220,群里都是学ios ...

  3. 微信怎么自动加好友java_iOS逆向开发之微信自动添加好友功能

    这一次,小程演示怎么让一个APP自动地运行,从而代替手工的操作.同样以"微信"以例,实现在一个微信群里面,对所有的成员,自动地一个一个地发出添加好友的请求. 知识点还是之前介绍的东 ...

  4. iOS开发icon图标设置

    图标的圆角和光晕效果 圆角效果.图标的圆角效果是系统自动加上的,我们不能控制.这也是为什么我们看到的每个图标,其圆角效果是完全相同的. 光晕效果.光晕效果也是系统加上的,和"圆角" ...

  5. 插件 iOS开发之微信自动抢红包功能

    最近在学习 iOS 逆向开发的时候,为了练手,开发了一个 iOS 版的微信抢红包 tweak,并且已经发布到了 Github 上面. 微信抢红包 Tweak 的 Github 地址   点击打开链接 ...

  6. iOS开发之微信自动抢红包功能

    最近在学习 iOS 逆向开发的时候,为了练手,开发了一个 iOS 版的微信抢红包 tweak,并且已经发布到了 Github 上面. 微信抢红包 Tweak 的 Github 地址   点击打开链接 ...

  7. 2022 ios APP最新iOS开发上架测试教程

    2022 ios APP最新开发测试教程 本文详细介绍最新的在windows上进行ios app开发编译打包安装到手机测试的完整流程.介绍ios开发经常遇到的问题和解决方法,包括ios开发证书,ios ...

  8. IOS开发--icon图标设置

    ios7正式发布已经有一段时间了,今天我主要说一下app icon的变化,在苹果iOS 7正式版发布之后,苹果要求开发者提供尺寸更大的应用图标.作为iOS 7界面改变之一,相比iOS 6,iOS 7主 ...

  9. android目录icon,自动裁剪Android ICON并保存到对应路径脚本

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

  10. iOS开发7:自动旋转与调整大小

    iOS开发7:自动旋转与调整大小 收藏  分享到 发表于 2012-08-31  •  16285 次查看 苹果的产品iPad和iPhone都是支持自动旋转的,因而我们写的程序也要支持两种视图:纵向和 ...

最新文章

  1. Gartner 认定 Microsoft 为具有远见卓识的云基础结构即服务提供商
  2. 如何扩展Android富文本之Html标签
  3. 工作八年总结(转载)
  4. 用Setup Factory打包Visual C++ 2008开发的程序心得总结
  5. 在asp.net中调用process.start执行程序
  6. 判断jQuery选择器结果为空 - CSDN博客
  7. MySQL索引优化分析
  8. 大佬写的orm框架,mark一下稍后阅读
  9. day048 BOM和DOM
  10. Linux下QT创建项目错误处理
  11. ffmpeg 源代码简单分析 : avcodec_register_all()
  12. echart多个柱状图 设置y轴显示_Origin做多因子柱状图
  13. iCollections for Mac(桌面整理工具)
  14. koa mysql 按钮级权限_Vue要做权限管理该怎么做?控制到按钮级别的权限怎么做?...
  15. 阿里java高级面试题
  16. JAVA API帮助文档
  17. 人工智能产品经理如何面对数据挖掘
  18. go语言命令入门之env(操作环境信息)
  19. php 考试系统 倒计时,php实现倒计时效果_PHP
  20. 【IoT】Android/TI 蓝牙 profile 详解

热门文章

  1. SQL语句-考勤统计表按照年份统计员工每月的加班调休数据
  2. RAC知识更新之-RAC单节点启动(摘自文平书)
  3. 什么是网站CDN?原理是什么?
  4. 当游戏遇上电视,智能大屏就能讲出新故事?
  5. mmc0: Too large timeout requested for CMD25
  6. 服务器 磁盘阵列数据恢复案例之:RAID6三块磁盘离线数据恢复过程
  7. matlab实验一报告,matlab实验报告总结.doc
  8. 三维点云处理(5)——Clustering
  9. 软考-架构师知识总结
  10. vfp 操作excel