图像不能包含alpha通道或透明度

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

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

enter image description here

179436 次浏览

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

我发现你也可以在预览中重新导出png,但在保存时不勾选Alpha复选框。

enter image description here

我也有同样的问题,只是在线压缩你在https://tinypng.com/上的png文件,然后尝试上传新的压缩png文件。

这是我的工作。

如果你使用的是Photoshop,点击文件>保存为web(命令+选项+ Shift + S)。确保透明度未选中,这样就可以了。

为此我做了一个新的简单的工具。您可以在几秒钟内删除多个.png文件的alpha通道(透明度)。

Alpha Channel Remover

你可以从这里下载http://alphachannelremover.blogspot.com

我能够使用imageoptim删除alpha通道和压缩png文件。

为了解决这个问题,我使用烟花批量转换我的png32文件到png24,以便快速简单地上传。Jpeg也可以,但它是有损的。

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

在Pixelmator上,您可以使用“共享>导出Web…”' (__abc0 + __abc1 + __abc2)

enter image description here

并在工具选项栏中取消选择透明度

enter image description here

对我来说有用的是使用jpg文件而不是PNG文件,因为jpg文件不使用alpha或透明功能。我是通过在线图像转换器做到的,或者你也可以在预览中打开图像,然后File->Export,并取消选中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 = YESUIGraphicsBeginImageContextWithOptions来删除alpha通道:

UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0);

将PNG图像转换为JPEG格式。

上传照片到iTunes Connect时,必须删除alpha通道。

你可以通过预览,照片应用程序(旧的iPhoto), Pixelmator, Adobe Photoshop和GIMP来做到这一点。

预览

  1. 在预览中打开照片(如果照片在照片应用程序(旧的iPhoto)的相册中,然后简单地将它从相册拖到桌面。然后控制点击(鼠标右键)复制的照片和选择Preview.app在打开菜单)。

  2. 在文件菜单下选择出口……,选择目的地后,取消底部的α,单击出口

    File ==>出口……”/></p>
<p><a href=Alpha

Pixelmator做出很棒

  1. 在Pixelmator中打开图像,无需创建新的Pixelmator文件。只需将照片拖到Pixelmator窗口。

  2. 在共享菜单中单击为Web导出…

    PM

  3. 在顶部栏,取消选择透明度

  4. 单击下一个,然后将新文件保存在某个地方。

最后,将新照片上传到iTunes Connect。

GIMP

  1. 在GIMP中打开照片。

  2. 打开菜单。

  3. 透明度下,单击移除Alpha通道

  4. 保存照片

Adobe Photoshop

  1. 在Adobe Photoshop中打开照片。

  2. 菜单下,单击图层蒙版,然后单击从透明度

  3. 通过右键单击图层面板中的蒙版并选择删除图层蒙版来删除图层蒙版。

同样的问题,尝试使用JPG格式!!

同样的问题,尝试使用JPG格式!!对我来说有用的是使用jpg文件而不是PNG文件,因为jpg文件不使用alpha或透明功能。我是通过在线图像转换器做到的,或者你也可以在预览中打开图像,然后File->Export,并取消选中alpha作为保存图像并使用此图像的选项。

这很简单……

预览应用程序中打开图像,单击文件→出口取消α< / >强

Photoshop

  1. 保存为网页
  2. 取消透明

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

2019年仍然是一个问题:=)

这对我很有用: 选择所有需要上传的图片->右键单击->打开预览->导出->取消勾选alpha ->使用导出的图片

答案b。这仍然是一个问题,我上传了一个cordova应用程序。我的解决方案使用mogrify:

brew install imagemagick
* navigate to `platforms/ios/<your_app_name>/Images.xcassets/AppIcon.appiconset`*
mogrify -alpha off *.png

然后成功归档和验证。👍

你可以导出到PNG没有alpha预览。只需打开图像,选择导出,选择PNG,取消选中Alpha,然后单击保存。预览也支持批量导出,如果你打开所有的图像一次。

从Sketch导出

为了避免透明度,确保没有层延伸到画板边界之外。

在Windows 10上,你可以使用Paint 3D。

  1. 打开图像
  2. 选择“Canvas"在顶部菜单中
  3. 取消选择“透明画布”;复选框
  4. 保存