删除图像中的Alpha通道

zbz*_*vlv 80 alpha image ios

我有iOS的应用程序图标,但Apple不允许alpha在图像中.如何删除此Alpha通道?我只有我的png图像我没有源文件,因为我的朋友为我做了图像.

Myc*_*cah 195

不建议将已导出的答案导出到JPG,然后再返回PNG.

  • 这是这个过程中的一个额外步骤(2个出口)
  • JPG是有损的,因此您将丢失一些图像数据

这是一种超快速简便的方法,无需额外导出或保存到(有损)JPG:

使用预览应用程序(Mac):

  1. 打开图像
  2. Command-Shift-S复制(创建副本)
  3. Command-S保存
  4. 取消选中"Alpha"复选框
  5. 从文件名中删除"复制"(包括空格)
    • 这将覆盖您的原件,如果您想保留原件,只需在名称中留下"复制"
  6. 保存
  7. 单击"替换"以确认您要覆盖原件
    • 只有在覆盖原件时才需要 删除alpha通道

  • 使用macOS High Sierra,即使取消选中该复选框,预览似乎总是使用Alpha通道保存PNG.如果我打开保存的文件,信息框总是显示"Has Alpha:1".sips工具也告诉我`hasAlpha:yes`.此外,iTunes Store会抱怨不需要的Alpha通道("操作失败 - App Store图标......不能透明,也不能包含Alpha通道"). (10认同)
  • 我不明白为什么iTunes Store团队在监视应用程序图标中显示此错误(Alpha通道),而在以前的版本中,他们认为它们是正确的.失去的时间!谢谢Apple Inc! (4认同)
  • 正如@Psychomentally 所提到的,ImageMagick 终于为我工作了:`convert in.png -alpha off out.png`。关于。预览:在导出对话框中打开/关闭“alpha”会更改预测的文件大小,但保存时始终会使用 alpha 信息(和相应的大小)写入文件。 (3认同)
  • ^恕我直言,这是一个更好的答案。JPG不支持Alpha通道,这将允许您使用LOSSLESS格式并处理Alpha通道(而不是避免使用它)。 (2认同)

小智 40

假设您没有其他图像编辑器,则可以在Mac上的"预览"中打开它,并使用"导出"选项以不同的格式重新保存它 - 以确保您摆脱Alpha通道,最好导出到JPG(最好的质量),然后打开它并再次将其导出为PNG.

话虽如此,我怀疑你提交带有透明度通道的图标可能没问题,只要没有实际的透明度.

  • 这将导致少量的质量损失,以及更大的PNG文件,因为PNG格式不适合压缩生成JPG文件时获得的工件类型.此外,Apple确实拒绝使用Alpha通道的PNG图像,即使没有实际的透明度. (9认同)
  • 实际上,您可以在导出到PNG时取消选中"Alpha"复选框.无需先导出到JPG. (6认同)
  • 无论透明度是否显示在图像中,任何带有透明度通道的PNG都将不被接受。 (3认同)

Osc*_*nco 34

如果您正在使用预览应用程序,则无需导出然后在jpg和png之间重新导出,只需选择导出并在文件类型(PNG)下方,您将看到一个alpha复选框,取消设置并保存.

  • 我曾经使用过这种方法,但在MacOS High Sierra上,除非选择JPG作为输出,否则在预览中取消选中Alpha不会做任何事情.如果我尝试打开PNG,导出PNG没有Alpha,并打开新的PNG,它有一个Alpha通道. (3认同)
  • 在 High Sierra 为我工作 (10.13.4) (2认同)

小智 31

如果您需要从带有图标的目录中删除所有alpha通道,请使用以下命令:

for i in `ls *.png`; do convert $i -background black -alpha remove -alpha off $i; done
Run Code Online (Sandbox Code Playgroud)

如果你有Mac OS Mojave并且"找不到转换命令"

brew install imagemagick
Run Code Online (Sandbox Code Playgroud)

安装Homebrew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
Run Code Online (Sandbox Code Playgroud)

  • 如果将 `-alpha remove -alpha off $i;` 更改为 `-alpha remove -alpha off png24:$i;` 它将输出 24 位 png (3认同)
  • 这给出了 8 位输出图像而不是 24 位 (2认同)

Ste*_*fan 13

首先无需将图像导出到jpg.您可以取消选中Alpha通道的复选框,并直接从png导出到预览应用中没有Alpha通道的png.

在此输入图像描述


Psy*_*ity 11

您可以尝试使用imagemagick(也可以轻松调整大小):

convert in.png -background black -alpha remove -alpha off -resize 1024x1024 out.png
Run Code Online (Sandbox Code Playgroud)


Tol*_*Hon 7

尝试将我的应用程序上传到iTunes应用商店时出现以下错误:

iTunes Store操作失败

ERROR ITMS-90717:"无效的App Store图标."MyApp.app"中资产目录中的App Store图标不能透明,也不能包含Alpha通道."

我确认我的应用商店图标确实包含了Alpha通道,方法是在Finder中查找资产并查找其信息(⌘+ i).在更多信息下面,它显示:

Alpha频道:是的

找到上面的解决方案使用预览来删除alpha通道,通过导出它并取消选中Alpha复选框,但是想出了批量导出它们的方法,因为我有18个资产需要剥离alpha通道.

批处理导出工作的方式是在finder中选择我的所有应用程序图标资源>右键单击>打开(或打开预览)

现在,所有资产都将显示在同一窗口中.全选(⌘+ a),然后选择文件>导出所选图像...>展开选项>取消选中Alpha复选框>选择(目标文件夹)

完成!现在,所有图像都会被删除,并删除Alpha通道.


小智 6

要从png中删除Alpha通道:

在Mac上:如果导出或保存图像,预览版9.0(macOS Sierra)可以删除Alpha通道.

预览版10.0(944.2)(macOS High Sierra)不会删除Alpha通道.导出和/或保存都不会从图像中删除Alpha通道.

  • 这突出了Apple最近发布的2个facepalm问题...... High Sierra忽略了保存选项以及许多人在这里的原因,Xcode因图标透明而突然无法上传应用程序 (2认同)