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

2023-10-31

老早之前做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


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 将 Xcode 4.5 新 XIB 文件恢复到 iOS<6

    我已经安装了Xcode 4 5 with iOS6 SDK以及其他用于测试目的的旧 SDK 从 4 3 到 6 0 很美 但是有一个BIG问题 生成一个新的 XIB 文件以兼容 iOS6 这是一个问题 因为我的应用程序需要运行在旧设备 不只
  • 依赖注入的惰性解析

    我有 net 课程 我使用 Unity 作为 IOC 来解决我们的依赖关系 它尝试在开始时加载所有依赖项 Unity中有没有一种方法 设置 允许在运行时加载依赖项 还有更好的解决方案 Unity 2 0 中对 Lazy 和 IEnumera
  • Cordova iOS 启动画面

    我无法让闪屏停留在页面加载之前 我已经阅读了谷歌搜索第一页 第二页和第三页中的所有条目 我阅读了 stackoverflow 上发布的所有问题 包括一个很好的解释 https stackoverflow com questions 1800
  • 在 SwiftUI 中,如何执行手势但将手势转发到其后面的视图?

    我正在创建一个工具提示系统 如果用户触摸工具提示之外的任何地方 我想关闭工具提示 我希望这样在工具提示之外的触摸既可以消除工具提示 又可以激活用户点击的任何控件 因此 您可以打开一个工具提示 然后仍然单击工具提示外部的按钮 并在第一次点击时
  • NSString 到 NSDate 的转换得到错误的结果[重复]

    这个问题在这里已经有答案了 可能的重复 NSDateFormatter 的时间错误 https stackoverflow com questions 5466419 wrong time from nsdateformatter NSDa
  • React Native ios运行问题

    我是反应本机和运行新手yarn ios我的 React Native 项目不断失败并出现以下错误 构建失败 以下构建命令失败 编译C Users gift Library Developer Xcode DerivedData gainer
  • C# 证书生成框架

    有谁知道可以生成公钥 私钥 X 509 证书并签署这些证书的 C 框架 BouncyCastleCrypto 虽然这个名字很疯狂 但我很确定它具有所有这些功能 几乎所有 RFC 标准均已实施 当我几年前使用它时 它的文档记录很少 但是单元测
  • Xcode 11 无法识别静态库的架构:MacCatalyst(又名 UIKitForMac)

    在对 2019 年 WWDC 公告感到兴奋之后 我尝试使用 Xcode 11 0 beta 针对 MacOS 编译现有的 iOS 应用程序 不幸的是 事情并没有按预期进行 Xcode 说我的静态库是为 架构构建的 为 Mac 版 UIKit
  • Cordova Phonegap“导出失败”错误代码 70 构建 ios 时

    我目前正在使用 Cordova Phonegap 构建 iOS 应用程序 本来工作正常 但现在运行时出现错误cordova build ios在终端中 我收到以下错误 导出失败 错误 命令的错误代码 70 带有参数的 xcodebuild
  • & 在 xml 文件中算作一个还是多个字符?

    我正在使用的 XML 模式具有特定的字符串字符长度 所以我可能有一个类似的字符串 Jim Mary 在 C 中是 10 个字符 但是当它写入 xml 时 它会变成 Jim amp Mary 如果 XML 模式规定字符串最多只能有 10 个字
  • 将 C# 字符串传递给非托管 C++ DLL

    我有一个简单的应用程序 它加载一个非托管 dll 并从 C 向它传递一些字符串值 但在 C dll 应用程序中 我收到异常 试图访问读 写保护的内存 我的 DLL 导入如下所示 DllImport X dll CallingConventi
  • Powershell XMLDocument保存为无BOM的UTF-8

    我构建了一个 System Xml XmlDocument 类型的 XML 对象 scheme gettype IsPublic IsSerial Name BaseType True False XmlDocument System Xm
  • 如何在 WPF 应用程序中实现气球消息

    我们想使用气球消息 如UX Guide http msdn microsoft com en us library aa511451 aspx来自微软 我发现一些示例使用 Windows 窗体中的本机代码 但本机代码需要组件的句柄 这对于
  • FileInfo.BaseName 存在于 PowerShell 中,但不存在于直接 .NET 中

    为什么在 NET 中System IO FileInfo对象没有BaseName属性 但我可以通过 PowerShell 使用该属性 例如 FolderItems Get ChildItem Path C Where Object isno
  • 标签中的路径显示

    NET 中有没有自动修剪路径字符串的方法 例如 C Documents and Settings nick My Documents Tests demo data demo data emx becomes C Documents dem
  • C# 中单个 & 符号的第二个含义是什么?

    我在 C 中使用了单个与号 来表示 检查second条件语句即使第一个是false 但以下似乎是不同的意思 of 总而言之 谁能解释一下如何i 1在下面的例子中有效吗 List
  • SwiftUI - 从 NSObject 继承的 ObservableObject 在 iOS 13 中不会更新

    我知道 这是 无法在 iOS XX 中工作 问题之一 但我完全陷入困境 所以我有一个ObservableObject继承自的类NSObject 因为我需要听委托方法UISearchResultsUpdating class SearchBa
  • 禁用 iPhone 4S / 新 iPad 键盘上的听写按钮

    我们的应用程序是一个医疗保健应用程序 我们的应用程序中有一个符合 HIPAA 标准的语音识别器 所有听写都可以通过它进行 医院不希望医生意外开始与不符合 HIPAA 标准的 Nuance Dragon 服务器进行对话 因此 我正在寻找可以抑
  • 防止点击 MKAnnotation 时检测到 MKMapView 上的触摸事件

    我有一个 UITapGestureRecognizer 当用户点击地图时 它将在我的 MKMap 上隐藏和显示工具栏 简单 但是 当用户点击 MKMapAnnotation 时 我不希望地图以正常方式响应点击 如上所述 此外 当用户点击地图
  • 我如何用 javascript/jquery 进行两指拖动?

    我正在尝试创建当有两个手指放在 div 上时拖动 div 的功能 我已将 div 绑定到 touchstart 和 touchmove 事件 我只是不确定如何编写这些函数 就像是if event originalEvent targetTo

随机推荐

  • Metasploit search参数

    msfvenom 参数 q快速启动msf 不显示banner信息 x加载模块代码 p payload lt payload gt 指定需要使用的payload 攻击荷载 也可以使用自定义payload 几乎是支持全平台的 l list mo
  • ThinkPHP3.2.3关闭调试模式及做些修改

    1 首先在入口文件中关闭调试模式 开启调试模式 建议开发阶段开启True 部署阶段注释或者设为false define APP DEBUG false 2 修改 Conf config php 异常页面的模板文件 TMPL EXCEPTIO
  • Cookie与Session深入理解(一)——Cookie

    基本操作 HttpServletRequest request HttpServletResponse response 1 获取cookies Cookie cookieList request getCookies 2 根据cookie
  • 力扣312题:戳气球

    力扣312题 戳气球 题目描述 有 n 个气球 编号为0 到 n 1 每个气球上都标有一个数字 这些数字存在数组 nums 中 现在要求你戳破所有的气球 戳破第 i 个气球 你可以获得 nums i 1 nums i nums i 1 枚硬
  • 机器学习深度学习数据集大汇总

    寻找一个好用的数据集需要注意一下几点 数据集不混乱 否则要花费大量时间来清理数据 数据集不应包含太多行或列 否则会难以使用 数据越干净越好 清理大型数据集可能非常耗时 应该预设一个有趣的问题 而这个问题又可以用数据来回答 数据集发布平台 A
  • linux安装pycharm详细步骤

    一 用xftp远程根据把解压后的安装包文件上传到指定目录 opt module 然后 cd opt module pycharm community linux 2018 1 4 bin 执行以代码 chmod u x pycharm sh
  • C++小游戏---坦克大战(二)(加入传送门)--附完整代码

    目录 素材整理 穿越草地 坦克穿越草地 子弹穿越草地 传送门 判定形式 生成传送门 传送坦克 关卡模式 效果展示 总结 完整代码 上一篇坦克大战居然意外获得了一些关注 正好最近也完善了一些功能 同时也加入了一些自己想到的新元素 主要是关于穿
  • 基于Matlab实现图像去噪技术(附上完整源码+图像+程序运行说明)

    图像去噪是数字图像处理中一个重要的问题 它的目标是恢复由于噪声引起的图像质量下降 噪声可以由各种原因引起 如图像传感器的不完美性能 图像传输过程中的干扰等 在实际应用中 图像去噪技术被广泛应用于医学图像处理 计算机视觉 图像识别等领域 本文
  • vim

    three basic mode of vim command mode also is default mode all the alphanumeric keys are bound to commands Typing dd will
  • 【数据库】封锁技术

    一 前言 数据库的并发操作通常会带来三个问题 丢失更新 读脏数据 不可重复读 解决这些问题就需要用到数据库的封锁机制进行控制 但封锁机制的引入又引起了一系列问题 性能下降 死锁等 1 丢失更新 一个事务的更新覆盖了其他事务的更新结果 例如用
  • android小项目之新闻客户端四

    基于Android小巫新闻客户端开发 显示新闻详细内容UI设计 2013年2月27日 天气潮湿 距上一次写的主界面业务逻辑实现 已经过来11天 小巫觉得拖得太久了 所以决定尽量把所有的内容介绍完 好完成这个任务 因为小巫已经开学了 将会有更
  • 利用两个小demo理解汇编代码排查内存溢出问题

    利用两个小demo理解汇编代码排查内存溢出问题 https www cnblogs com liuchuanloong articles 16925695 html 背景 近日处理现场问题时遇到了踩内存导致的崩溃问题 然而个人对反汇编程序执
  • C#中的Random.Range

    Random Range 0 1 包含0 不包含1
  • 十、获取人体骨骼关键点三维坐标——Azure Kinect DK入门

    Azure Kinect DK 文档 Azure Kinect Sensor SDK 文档 Azure Kinect Body Tracking SDK 文档 OpenCV文档 参考文档学习 边学 边查资料 获取人体骨骼关键点三维坐标 目的
  • centernet(cornernet)中通过高斯核函数画热点图时 高斯半径的确定及 改进成椭圆高斯图

    为什么采用二维的高斯核 参考https zhuanlan zhihu com p 96856635 其中原因解释合理 但公式推导有待商榷 在设置GT box的heat map的时候 我们不能仅仅只在top left bottom right
  • 漫步人生路

    在美帝工作了几个月 感觉生活很不错 很小资 朝九晚五的生活让我慢慢觉得缺少了些什么 目前做的事情是我喜欢的方向 做的是自动驾驶中很重要的一个领域 挑战还是不小的 需要正视这些差距 但是我最近懈怠了 在靡靡之音中容易忘记自己想要做的事情 没有
  • sg-uap的安装配置

    首先要确保jdk和tomcat的安装 并且设置好环境变量 1 找到sg uap的安装执行文件 双击安装 2 把sguap server文件夹拷贝到tomcat的发布目录 即webapps下 3 把授权码 license dat pw key
  • echarts的简单利用实现数据可视化

    echarts的简单利用实现数据可视化 气体君也用echarts简单做过一些图表的数据可视化 下面一一展现给大家 这些都是气体君用echarts制作的 主要只需要简单的数据传入html中即可 接下来一一给大家详细说明使用步骤 第一步 先在百
  • Python——彩图转线稿

    偶然扒到了好久之前写的彩图转线稿的代码 记录一下 彩图 代码 线图 全部代码 带注释 import numpy as np from PIL import Image array np asarray Image open boom jpg
  • 最新 IOS应用开发Icon规格自动裁剪器(C#)

    老早之前做IOS APP开发 为折腾一个IOS应用的Icon 用C 写了一个简单的IOS应用开发Icon规格自动裁剪器 但时过境迁 目前IOS设备屏幕规格也是越来越多 一个版本就要生成好几种规格分辨率的Icon 用PS什么的一个一个生成费劲