IOS用のアプリアイコンがありますが、Appleでは画像にアルファを含めることができません。このアルファチャネルを削除する方法は?友人が私のために画像を作成したため、私はPNG画像しか持っていません。ソースファイルは持っていません。
別の画像エディターがない場合、Macのプレビューで開くことができ、エクスポートオプションを使用して別の形式で再保存できます-アルファチャンネルを削除するには、エクスポートするのが最適ですJPG(最高品質)に変換してから開き、再度PNGとしてエクスポートします。
そうは言っても、実際の透明度がなければ、透明度チャンネル付きのアイコンを送信しても大丈夫だと思います。
JPGにエクスポートしてからPNGに戻すという受け入れられた回答はお勧めしません。
追加のエクスポートや(損失のある)JPGへの保存を行わずに、これを行う非常に高速で簡単な方法を次に示します。
プレビューアプリの使用(Mac):
プレビューアプリを使用している場合、jpgとpngの間でエクスポートしてから再エクスポートする必要はありません。エクスポートを選択すると、ファイルタイプ(PNG)の下にアルファチェックボックスが表示され、設定を解除して保存します。
アイコンがあるディレクトリからすべてのアルファチャネルを削除する必要がある場合は、次のコマンドを使用します。
for i in `ls *.png`; do convert $i -background black -alpha remove -alpha off $i; done
mac OS Mojaveがあり、「変換コマンドが見つからない」場合
brew install imagemagick
Homebrewをインストールするには
Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
Imagemagickを試すことができます(異なるサイズに簡単にサイズを変更することもできます):
convert in.png -background black -alpha remove -alpha off -resize 1024x1024 out.png
ITunesアプリストアにアプリをアップロードしようとすると、次のエラーが発生しました。
iTunes Storeの操作に失敗しました
エラーITMS-90717:「App Storeのアイコンが無効です。「MyApp.app」のアセットカタログ内のApp Storeのアイコンは、透明にしたり、アルファチャネルを含めることはできません。」
Finderでアセットを見つけ、その情報を検索することで、アプリストアアイコンにアルファチャネルが含まれていることを確認しました(⌘+ i)。詳細情報の下に、以下が示されました。
アルファチャネル:はい
上記のソリューションを見つけて、プレビューを使用してアルファチェックボックスをオフにしてエクスポートすることでアルファチャンネルを削除しましたが、アルファチャンネルを取り除く必要がある18のアセットがあったので、それらをバッチエクスポートする方法を考えました。
バッチエクスポートを機能させる方法は、Finderですべてのアプリアイコンアセットを選択し、右クリック>開く(またはプレビューで開く)ことでした。
これで、すべてのアセットが同じウィンドウに表示されます。すべて選択(⌘+ a)し、[ファイル]> [選択した画像をエクスポート…]> [オプションを展開]を選択し、[アルファ]チェックボックスをオフにし、[選択先フォルダー]
できた!これで、すべての画像がアルファチャンネルを取り除いてエクスポートされます。
PNGからアルファチャネルを削除するには:
macの場合:イメージをエクスポートまたは保存すると、プレビューバージョン9.0(macOS Sierra)でアルファチャネルを削除できます。
プレビューバージョン10.0(944.2)(macOS High Sierra)は、アルファチャネルを削除しません。エクスポートまたは保存、あるいはその両方は、画像からアルファチャネルを削除しません。
まあ、あなたはMacを使っているので、次回はおそらくAutomatorを使いたいだけでしょう。画像をBMP(ロスレス)に変換し、PNGに戻します。保存して出来上がりましょう...
アルファチェックボックスはプレビューに表示されなくなりました
Nikita Pushkarの非常に素晴らしいソリューションを、res/icon/ios
にあるすべてのiOSアイコンを変換するシェルスクリプトに入れました。
Imagemagickがインストールされていない場合、brewを使用してインストールするため、Macでのみ実行されると思います。
#! /usr/bin/env bash
#
# remove alpha channel from PNG images when App Store upload fails
#
# taken from https://stackoverflow.com/a/52962485 - @Nikita Pushkar
#
# make sure to have brew installed, see https://brew.sh:
# /usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
#
# make sure to have imagemagick installed, see https://imagemagick.org:
# brew install imagemagick
#
if command -v convert; then
echo "imagemagick seems to be installed"
else
echo "imagemagick not installed, trying to install ..."
if command -v brew; then
echo "brew is installed, using it"
else
echo "brew not installed, trying to install ..."
/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
brew install imagemagick
fi
for i in `ls res/icon/ios/*.png`;
do
echo "convert $i"
convert $i -background white -alpha remove -alpha off $i;
done