我开始使用ionicons_2-0-1_ios pause-outline和
http://fa2png.io/r/ionicons/
将它们转换为正确的尺寸。
但是,当我尝试iOS iPhone 7模拟器时,我会收到此消息:
警告:输入PNG没有8位输入深度。请转换 您的PNG至8位,以在iPhone OS
上进行最佳性能
如何使用正确的深度转换为PNG?
您的图像不在8位中,图像需要以8位而不是16位。这也适用于图标。iOS也仅支持8位图像。
-
8位表示每个颜色频道8位,为1670万颜色。
-
每通道16位,每个通道的颜色为32,769颜色,实际上是281万亿可能的颜色!16位仅用于照片编辑,图像仍然需要保存回8位才能打印。
makeappicon 是生成应用图标的有用网站。 icofx 是创建8位深度图标的绝妙工具。
8位图像与16位图像之间的主要区别是给定颜色的音调量。因此,您的图像中有太多的颜色。这是一些可以为您解决此问题的应用程序的列表。http://myappmag.com/make-windows-icons/来自该列表;数字5似乎是一个不错的选择。
这也可以帮助您在8位范围内找到颜色。http://neildowning.com/hex_to_rgb_color_converter.php
看起来Xamarin需要每个颜色通道8位
(红色8位,绿色8位,蓝色8位)
http://forums.gamesalad.com/discussion/comment/61399/#Comment_61399
称为"真颜色",实际上是PNG-24(因为24 = 8*3)
https://en.wikipedia.org/wiki/Color_depth#True_color_.2824-bit.29
那么,为什么我们不运行Python脚本来为我们做到这一点。如果您不熟悉Python,那么您需要做的就是
- 下载Python(确保在设置期间将PIP添加到路径)
- 在CMD中运行
pip install pillow
(如果是Access is denied
,则以管理员的身份运行)。枕头是Python的成像库。 - 用图像在文件夹中制作文件,称其为
convert.py
将以下内容放在其中
def convert_to_24(image_file): from PIL import Image try: im = Image.open(image_file) except(FileNotFoundError): print(image_file ,"was not found.") return print(image_file,"is in",im.mode,"mode.") if im.mode != "RGB": im = im.convert("RGB") im.save(image_file.split('.')[0]+"_24.png") return if __name__ == "__main__": convert_to_24(input('Enter image file name:'))
打开脚本和图像所在的cmd,键入
python convert.py
当它要求文件名时,将文件名放置在内,包括扩展名,例如
filename.png
它将告诉您图像是什么模式,并将创建另一个图像,其中具有8位颜色像素的名称filename_24.png
(又称24位PNG)。
How can I convert icons to png with the correct depth?
转换为JPG,然后返回到PNG。这也将删除alpha(透明)通道。