App表徵圖產生器的實現,附源碼

來源:互聯網
上載者:User

標籤:

背景

網上各種產生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 = { 48, 32, 16, 24 };        public static int[] hdpiSizes = { 72,48,24,36 };        public static int[] xhdpiSizes = { 48, 32, 16, 24 };        public static int[] xxhdpiSizes = { 144, 96, 48, 72 };    }    public class IosSizes    {        public static int[] icon3Sizes = { 1024, 512, 180, 114, 87, 75, 66 };        public static int[] icon2Sizes = { 1024, 512, 120, 114, 58, 75, 44 };        public static int[] icon1Sizes = { 1024, 512, 120, 57, 29, 38, 30 };    }
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  縮圖產生

App表徵圖產生器的實現,附源碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.