Windows 8 24x24徽标图像图像失败wac工具测试

时间:2013-01-29 11:24:34

标签: windows-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######).

我在网上搜索并找到了链接Badge Issue in VS update 1

我没有使用34x34图像作为徽章徽标。我正在使用24x24图像我仍然通过wac工具得到错误我无法将其提交到App Store。

我试过使用34x34图像,但它不起作用可以帮助我吗?

4 个答案:

答案 0 :(得分:12)

我非常了解这个问题。它与图像大小无关,而与图像内容无关。错误信息实际上非常精确 - 并非徽章徽标中的所有像素都满足要求它们全白## FFFFFF或透明00 ######。

我建议您的第一步是确认我的答案是正确的。为此,只需创建一个完全白色的临时24x24图像。如果您使用此临时白色徽标,WAC应该通过。

下一步是获得合适的徽标图片。我使用GIMP图形工具(http://www.gimp.org/downloads/)执行了以下操作:

  1. 确定徽标的背景颜色,导航至颜色>颜色为alpha并选择已识别的颜色。这使你的背景透明。
  2. 现在是时候用Colors>去饱和整个画面了。去饱和
  3. 仅将位限制为## FFFFFF和00 ######:导航到颜色>亮度 - 对比度并将亮度和对比度设置为最大值。
  4. 可以肯定的是,我是对的,您可能希望将当前徽章徽标附加到原始问题上。

答案 1 :(得分:1)

The solution is really simple! Just import your badge logo into Adode Photoshop and Press [Control + L] or Go to the menu [Image> Adjustments> Levels] and set the values as:

Channel: RGB Input Levels up fields: 253; 1,00; 255 Input Levels down fields: 255; 255

Save your image!

Afterward, just redo do process of creating App Packages on visual Studio. Now Enjoy you app approved!

答案 2 :(得分:0)

自动执行该过程的一种方法是编写一个小型C#控制台应用程序,以便修复"修复"图片:

添加一个nuget引用到包Magick.NET.Core-Q8
执行以下代码以删除< 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 );
    }
}

享受
-Simon

答案 3 :(得分:0)

可能的选项(对我有用)删除:

<uap:LockScreen Notification="badgeAndTileText" BadgeLogo="" />

来自Package.appxmanifest文件(作为xml)

如果该应用程序与LockScreen通知无关,那么这似乎是一个选择。