8

ツールMicrosoft Visual Studio Express for Windows 8を使用して Windows 8 アプリを開発し ています アプリ ストアにアップロードするアプリ パッケージを作成しているときに、WAC ツール テストに失敗し、次のエラーが発生します。

Image reference "images\badge_24.png": The image "C:\Program Files\WindowsApps
\myproject\images\badge_24.png" has an ABGR value "0x1D5E50E9" at position (9, 0) 
that is not valid. The pixel must be white (##FFFFFF) or transparent (00######).

ネットで検索したところ、VS update 1 のリンク Badge Issue が見つかりました

バッジのロゴに 34x34 の画像を使用していません。24x24 の画像を使用していますが、wac ツールでエラーが発生するため、これを App Store に送信できません。

34x34 の画像を使用してみましたが、うまくいきません。

4

4 に答える 4

12

私はこの問題をよく知っています。これは画像サイズではなく、画像の内容に関係しています。エラー メッセージは実際には非常に正確です。バッジ ロゴのすべてのピクセルが完全に白の ##FFFFFF または透明な 00###### であるという要件を満たしているわけではありません。

最初のステップは、私の答えが正しいことを確認することです。そのためには、完全に白の一時的な 24x24 画像を作成するだけです。この一時的な白いロゴを使用すると、WAC に合格するはずです。

次のステップは、適切なロゴ画像を取得することです。GIMP グラフィック ツール ( http://www.gimp.org/downloads/ )で次のことを行いました。

  1. ロゴの背景色を特定し、[色] > [カラーからアルファへ] に移動して、特定された色を選択します。これで背景が透明になります。
  2. 次に、[カラー] > [彩度を下げる] で画像全体の彩度を下げます。
  3. ビットを ##FFFFFF および 00###### のみに制限する: [色] > [明るさ-コントラスト] に移動し、[明るさ] と [コントラスト] の両方を最大値に設定します。

確かに、元の質問に現在のバッジのロゴを添付することをお勧めします。

于 2013-01-30T10:02:52.343 に答える
1

解決策は本当に簡単です!バッジのロゴを Adode Photoshop にインポートし、[Ctrl + L] を押すか、メニュー [イメージ] > [調整] > [レベル] に移動し、値を次のように設定します。

チャンネル: RGB 入力 レベルアップ フィールド: 253; 1,00; 255 入力レベル ダウン フィールド: 255; 255

画像を保存してください!

あとは、Visual Studio でアプリ パッケージを作成するプロセスをやり直すだけです。今アプリ承認をお楽しみください!

于 2015-05-24T22:14:13.890 に答える
0

プロセスを自動化する 1 つの方法は、イメージを "修正" する小さな C# コンソール アプリケーションを作成することです。

パッケージ Magick.NET.Core-Q8 への nuget 参照を追加します
。次のコードを実行して、255 個未満のカラー チャネルを削除します。

foreach( string ThisFile in Directory.GetFiles( @"C:\YourUwpApplication\Assets", "LockScreenLogo.*.png" ) )
{
    using( ImageMagick.MagickImage TheImage = new ImageMagick.MagickImage( ThisFile ) )
    {
        ImageMagick.PixelCollection Pixels = TheImage.GetPixels();

        for( int IX = 0; IX < TheImage.Width; IX++ )
        {
            for( int IY = 0; IY < TheImage.Height; IY++ )
            {
                Pixels[ IX, IY ].SetChannel( 0, 255 );
                Pixels[ IX, IY ].SetChannel( 1, 255 );
                Pixels[ IX, IY ].SetChannel( 2, 255 );
            }
        }

        TheImage.Write( ThisFile );
    }
}

楽しむ
-サイモン

于 2016-09-23T00:25:26.647 に答える