Using ToArgb() followed by FromArgb() does not result in the original color

前端 未结 4 1271
清酒与你
清酒与你 2021-01-13 04:35

This does not work

        int blueInt = Color.Blue.ToArgb();
        Color fred = Color.FromArgb(blueInt);
        Assert.AreEqual(Color.Blue,fred);
         


        
4条回答
  •  长发绾君心
    2021-01-13 04:54

    Alternatively, this also works, and I think it's more intuitive

        [Test]
        public void ColorTransform()
        {
            var argbInt = Color.LightCyan.ToArgb();
            Color backColor = Color.FromArgb(argbInt);
            Assert.AreEqual(Color.LightCyan.A, backColor.A);
            Assert.AreEqual(Color.LightCyan.B, backColor.B);
            Assert.AreEqual(Color.LightCyan.G, backColor.G);
            Assert.AreEqual(Color.LightCyan.R, backColor.R);
        }
    

提交回复
热议问题