本文介绍了使用ToArgb()后跟FromArgb()不会导致原来的颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这不能正常工作
INT blueInt = Color.Blue.ToArgb();
颜色弗雷德= Color.FromArgb(blueInt);
Assert.AreEqual(Color.Blue,弗雷德);
有什么建议?
我使用NUnit和输出
失败:
预计:颜色[蓝]
不过是:颜色[A = 255,R = 0,G = 0,B = 255]
这个作品!
INT blueInt = Color.Blue.ToArgb();
颜色弗雷德= Color.FromArgb(blueInt);
Assert.AreEqual(Color.Blue.ToArgb(),fred.ToArgb());
解决方案
从的:
我猜的状态标志是不同的。
This does not work
int blueInt = Color.Blue.ToArgb();
Color fred = Color.FromArgb(blueInt);
Assert.AreEqual(Color.Blue,fred);
Any suggestions?
[Edit]
I'm using NUnit and the output is
failed:
Expected: Color [Blue]
But was: Color [A=255, R=0, G=0, B=255]
[Edit]
This works!
int blueInt = Color.Blue.ToArgb();
Color fred = Color.FromArgb(blueInt);
Assert.AreEqual(Color.Blue.ToArgb(),fred.ToArgb());
解决方案
From the MSDN documentation on Color.operator ==
:
I'm guessing the state flags are different.
这篇关于使用ToArgb()后跟FromArgb()不会导致原来的颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!