警告:输入PNG没有8位输入深度.请将您的PNG转换为8位,以在iPhone操作系统上进行最佳性能



我开始使用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,那么您需要做的就是

  1. 下载Python(确保在设置期间将PIP添加到路径)
  2. 在CMD中运行pip install pillow(如果是Access is denied,则以管理员的身份运行)。枕头是Python的成像库。
  3. 用图像在文件夹中制作文件,称其为 convert.py
  4. 将以下内容放在其中

    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:'))
    
  5. 打开脚本和图像所在的cmd,键入 python convert.py

  6. 当它要求文件名时,将文件名放置在内,包括扩展名,例如filename.png

它将告诉您图像是什么模式,并将创建另一个图像,其中具有8位颜色像素的名称filename_24.png(又称24位PNG)。

How can I convert icons to png with the correct depth?

转换为JPG,然后返回到PNG。这也将删除alpha(透明)通道。

最新更新