我正在使用工具开发windows 8应用程序,微软Visual for 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更新1中的徽章问题。
我不使用34x34图像作为徽章标志。我使用的是24x24图像,但我仍然通过wac工具获得错误,因为不能将其提交给App .。
我试过使用34x34图像,但它不能工作,有人能帮助我吗?
发布于 2013-01-30 10:02:52
我非常了解这个问题。它与图像大小无关,而与图像内容有关。错误信息实际上是非常精确的--并不是您的徽章徽标中的所有像素都满足了完全白色##FFFFFF或透明00######的要求。
我建议你的第一步是确认我的答案是正确的。为此,只需创建一个临时的24x24图像,它将完全是白色的。如果您使用此临时白色徽标,WAC应通过。
下一步将是获得一个适当的标志形象。我使用GIMP图形工具(http://www.gimp.org/downloads/)完成了以下操作:
当然,我是对的,你可能想把你当前的徽章徽标附加到你原来的问题上。
发布于 2015-05-24 22:14:13
解决办法真的很简单!只需将您的徽章徽标导入Adode并按下Control +L,或转到菜单Image> Adjustments> Levels,并将值设置为:
通道: RGB输入级别向上字段: 253;1,00;255输入级别向下字段: 255;255
保存你的形象!
之后,只需重做在visual上创建App的过程。现在享受你的应用程序批准!
发布于 2016-09-23 00:25:26
自动化过程的一种方法是编写一个小的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
https://stackoverflow.com/questions/14581782
复制相似问题