图像不能包含Alpha通道或透明胶片
苹果发布了iTunes Connect的新版本,当我尝试在iTunes上为我的应用程序设置屏幕截图时,我收到了一条错误消息。
"Images can't contain alpha channels or transparencies."
AFAIK PNG与透明度是不允许的。 使用JPG或更新您的PNG(Photoshop或任何你用来创buildPNG),并删除透明区域。 如果你使用阴影,使用JPG,这将不会头痛。
我发现你也可以重新导出PNG的预览,但保存时取消选中阿尔法checkbox。
为此我做了一个新的简单的工具。 您可以在几秒钟内删除多个.png文件的Alpha通道(透明度)。
使用ImageMagick
软件包中的mogrify
工具删除Alpha通道。
brew install imagemagick cd folder_with_images mogrify -alpha off */*.png
5月3日更新
您可以通过运行来判断图像是否包含alpha通道:
sips -g all image.png
如果您在iOS模拟器中渲染屏幕截图,则可以通过将BOOL opaque = YES
传递给UIGraphicsBeginImageContextWithOptions
来删除Alpha通道:
UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0);
这么容易…
在预览应用程序中打开图像单击文件 – >导出并取消选中阿尔法
上传照片到iTunes Connect时,您必须删除Alpha通道。
您可以通过预览,照片应用程序(旧iPhoto),Pixelmator,Adobe Photoshop和GIMP来做到这一点。
预习
1-在预览中打开照片(如果照片位于照片应用程序(旧iPhoto)的相册中,则只需将其从相册拖到桌面,然后按住鼠标右键(复制照片时单击鼠标右键)select打开方式菜单下的Preview.app )。
2-select文件菜单下的导出… ,select目的地后,取消选中底部的阿尔法 ,然后单击导出 。
Pixelmator
1-在Pixelmator中打开图像, 不创build新的Pixelmator文件 。 只需将照片拖到Pixelmator窗口。
2-从共享菜单中,单击导出为Web …
3-在顶部栏中,取消select透明度 。
4-单击“ 下一步” ,然后将新文件保存在某处。
最后,将新照片上传到iTunes Connect。
GIMP
1-在GIMP中打开照片。
2-打开图层菜单。
3-在透明度下 ,单击删除Alpha通道 。
4-保存照片。
Adobe Photoshop
1-在Adobe Photoshop中打开照片。
2-在图层菜单下,点击图层蒙版 ,然后点击透明 。
3-通过在“图层”面板中右键单击蒙版并select“ 删除图层蒙版”来删除图层蒙版 。
如果您使用Photoshop,请转到“文件”>“保存为网页”(Command + Option + Shift + S)。 确保透明度未被选中,这应该工作。
我有同样的问题只是在https://tinypng.com/在线压缩你的PNG文件,然后尝试上传新的压缩PNG文件。;
它为我工作。
我能够使用imageoptim删除alpha通道和压缩PNG文件。
在Pixelmator上,您可以使用“共享>导出为Web …”( ⇧ + ⌘ + E )
并在工具选项栏中取消select透明度 。
你可以用pngcrush从命令行删除一个PNG文件的alpha通道,使用标志“-c 2”:
$ file input.png input.png: PNG image data, 1024 x 1024, 8-bit/color RGBA, non-interlaced $ pngcrush -q -c 2 input.png output.png libpng warning: iCCP: known incorrect sRGB profile $ file output.png output.png: PNG image data, 1024 x 1024, 8-bit/color RGB, non-interlaced
注意从RGBA到RGB的变化:Alpha通道消失了!
pngcrush活在http://pmt.sourceforge.net/pngcrush/
面对同样的问题,尝试使用JPG格式! 我在这里工作的是使用jpg文件,而不是PNG,因为jpg文件不使用alpha或透明度function。 我通过在线图像转换器完成,或者您也可以在预览中打开图像,然后select文件 – >导出,然后取消选中字母作为选项来保存图像并使用此图像。
为了解决这个问题,我使用fireworks将我的png32文件批量转换为png24,以便上传。 Jpeg的作品也是有损的。
面对同样的问题,尝试使用JPG格式!
Photoshop 1.切片2.保存为网页3.取消选中透明度
如果你安装了imagemagick,那么你可以把下面的别名放到你的.bash_profile中。 它会将目录中的每个png转换为jpg,这会自动删除alpha。 您可以使用生成的jpg文件作为屏幕截图。
alias pngToJpg='for i in *.png; do convert $i ${i/.png/}.jpg; done'
我在这里工作的是使用jpg文件,而不是PNG,因为jpg文件不使用alpha或透明度function。 我通过在线图像转换器完成,或者您也可以在预览中打开图像,然后select文件 – >导出,然后取消选中字母作为选项来保存图像并使用此图像。
您可以简单地创build一个新的Photoshop文档,并将其默认背景设置为白色而不是透明。 然后,将图像复制并粘贴到新创build的文档并保存。
将您的PNG图像转换为JPEG格式。
- 提交应用程序时,iOS 10 GM发布错误“由于GoogleSignIn,AdMob,应用程序尝试访问隐私敏感数据而没有使用说明”
- 每个版本的iOS都有哪些版本的移动版Safari?
- 在Xcode 6的Storyboard中,“约束边界”是什么?
- iOS 7 Sprite Kit释放内存
- ld:框架未findPods
- 删除UITableView中的UITableViewCells之间的行
- 使用select器'touchesBegan:withEvent:'具有不兼容types'(NSSet,UIEvent) – >()'的覆盖方法
- 如何将焦点设置到iPhone中的文本字段?
- 带有IB_DESIGNABLE的UIButton会引发运行时属性警告,并且不会在Interface Builder中呈现