苹果发布了新版iTunes Connect &当我试图在iTunes Connect上为我的应用程序设置截图时,我收到了一个错误消息。

"Images can't contain alpha channels or transparencies." 


当前回答

你可以通过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/

其他回答

如果安装了imagemagick,那么可以将以下别名放入.bash_profile中。它会将目录中的每个png转换为jpg,这将自动删除alpha。您可以使用生成的jpg文件作为屏幕截图。

alias pngToJpg='for i in *.png; do convert $i ${i/.png/}.jpg; done'

AFAIK png与透明度是不允许的。使用jpg或更新你的png (photoshop或其他你用来创建png的工具)并删除透明区域。如果你使用阴影,使用jpg,这不会让你头疼。

使用mogrify工具从ImageMagick包删除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); 

你可以简单地创建一个新的Photoshop文档,并将其默认背景设置为白色而不是透明。然后,复制并粘贴图像到新创建的文档并保存它。

在Pixelmator上,您可以使用“共享>导出Web…”`(⇧+⌘+ e)

在“工具选项栏”中取消选择“透明度”。