
[英]he App Store Icon in the asset catalog in 'OMS.app' can't be transparent nor contain an alpha channel
[英]Images can't contain alpha channels or transparencies
Apple 发布了新版本的 iTunes Connect,当我尝试在 iTunes Connect 上为我的应用设置屏幕截图时收到一条错误消息。
"Images can't contain alpha channels or transparencies."
我发现您也可以在预览中重新导出 png,但在保存时取消选中 Alpha 复选框。
不允许具有透明度的 AFAIK png。 使用 jpg 或更新您的 png(photoshop 或您用来创建 png 的任何工具)并删除透明区域。 如果您使用阴影,请使用 jpg,这不会让人头疼。
它是如此容易...
在预览应用程序中打开图像单击文件-> 导出并取消选中 alpha
为此,我制作了一个新的简单工具。 您可以在几秒钟内移除多个 .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 通道。
您可以通过 Preview、Photos App(旧 iPhoto)、Pixelmator、Adobe Photoshop 和 GIMP 来完成此操作。
预习
在预览中打开照片(如果照片在照片应用程序(旧 iPhoto)中的相册中,然后只需将其从相册拖到桌面。然后按住 control 键单击(鼠标右键单击)复制的照片并选择预览.app在打开方式菜单下)。
选择 File 菜单下的Export... ,选择目的地后,取消选中底部的Alpha ,然后单击Export 。
像素化器
在 Pixelmator 中打开图像,而不创建新的 Pixelmator 文件。 只需将照片拖到 Pixelmator 窗口即可。
从“共享”菜单中,单击“导出为 Web...”
在顶部栏中,取消选择透明度。
单击下一步,然后将新文件保存在某处。
最后,将新照片上传到 iTunes Connect。
GIMP
在 GIMP 中打开照片。
打开图层菜单。
在透明度下,单击移除 Alpha 通道。
保存照片。
Adobe Photoshop
在 Adobe Photoshop 中打开照片。
在图层菜单下,单击图层蒙版,然后单击从透明度。
通过右键单击“图层”面板中的蒙版并选择“删除图层蒙版”来删除图层蒙版。
如果您使用的是 Photoshop,请转到文件 > 保存为网页(Command + Option + Shift + S)。 确保未选中透明度,这应该可以工作。
2019年仍然是一个问题:=)
这对我有用:选择您要上传的所有图像 -> 右键单击 -> 在预览中打开 -> 导出 -> 取消选中 alpha -> 使用导出的图像。
扩展罗马 B. 答案。 这仍然是一个问题,我正在上传一个科尔多瓦应用程序。 我使用mogrify
的解决方案:
brew install imagemagick
* navigate to `platforms/ios/<your_app_name>/Images.xcassets/AppIcon.appiconset`*
mogrify -alpha off *.png
然后存档并验证成功。 👍
我能够使用imageoptim删除 alpha 通道并压缩 png 文件。
在 Pixelmator 上,您可以使用“Share > Export for Web...”( ⇧ + ⌘ + E )
并在工具选项栏中取消选择透明度。
我有同样的问题,只需在https://tinypng.com/上在线压缩您的 png 文件,然后尝试上传新的压缩 png 文件。
它为我工作。
您可以使用标志“-c 2”从命令行使用 pngcrush 从 PNG 文件中删除 alpha 通道:
$ 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 或透明度功能。 我是通过在线图像转换器完成的,或者您也可以在预览中打开图像,然后文件->导出并取消选中 alpha 作为选项以保存图像并使用此图像。
为了解决这个问题,我使用烟花将我的 png32 文件批量转换为 png24,以便快速轻松地上传。 Jpeg 也可以,但是有损。
遇到同样的问题,试试用JPG格式!!
Photoshop
您可以在预览中导出为没有 Alpha 的 PNG。 只需打开您的图像,选择导出,选择 PNG,取消选中 Alpha,然后单击保存。 如果您一次打开所有图像,预览还支持批量导出。
如果您安装了 imagemagick,那么您可以将以下别名放入您的 .bash_profile 中。 它将目录中的每个 png 转换为 jpg,这会自动删除 alpha。 您可以使用生成的 jpg 文件作为屏幕截图。
alias pngToJpg='for i in *.png; do convert $i ${i/.png/}.jpg; done'
在这里对我有用的是使用 jpg 文件而不是 PNG,因为 jpg 文件不使用 alpha 或透明度功能。 我是通过在线图像转换器完成的,或者您也可以在预览中打开图像,然后文件->导出并取消选中 alpha 作为选项以保存图像并使用此图像。
您可以简单地创建一个新的 Photoshop 文档并将其默认背景设置为白色而不是透明。 然后,将您的图像复制并粘贴到新创建的文档中并保存。
为避免透明,请确保没有图层超出画板边界。
在 Windows 10 上,您可以使用 Paint 3D。
将您的 PNG 图像转换为 JPEG 格式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.