public void TestRGBColour() { XSSFWorkbook wb = XSSFTestDataSamples.OpenSampleWorkbook("50299.xlsx"); // Check the CTColor is as expected XSSFColor rgb3 = (XSSFColor)((XSSFCellStyle)wb.GetCellStyleAt((short)25)).FillForegroundXSSFColor; Assert.AreEqual(false, rgb3.GetCTColor().IsSetIndexed()); Assert.AreEqual(0, rgb3.GetCTColor().indexed); Assert.AreEqual(true, rgb3.GetCTColor().IsSetTint()); Assert.AreEqual(-0.34999, rgb3.GetCTColor().tint, 0.00001); Assert.AreEqual(true, rgb3.GetCTColor().IsSetRgb()); Assert.AreEqual(3, rgb3.GetCTColor().GetRgb().Length); // Now check the XSSFColor Assert.AreEqual(0, rgb3.Indexed); Assert.AreEqual(-0.34999, rgb3.Tint, 0.00001); Assert.IsFalse(rgb3.HasAlpha); Assert.IsTrue(rgb3.HasTint); Assert.AreEqual("FFFFFFFF", rgb3.ARGBHex); Assert.AreEqual(3, rgb3.RGB.Length); Assert.AreEqual(255, rgb3.RGB[0]); Assert.AreEqual(255, rgb3.RGB[1]); Assert.AreEqual(255, rgb3.RGB[2]); Assert.AreEqual(4, rgb3.ARGB.Length); Assert.AreEqual(255, rgb3.ARGB[0]); Assert.AreEqual(255, rgb3.ARGB[1]); Assert.AreEqual(255, rgb3.ARGB[2]); Assert.AreEqual(255, rgb3.ARGB[3]); // Tint doesn't have the alpha // tint = -0.34999 // 255 * (1 + tint) = 165 truncated // or (byte) -91 (which is 165 - 256) Assert.AreEqual(3, rgb3.GetRgbWithTint().Length); Assert.AreEqual(-91, (sbyte)rgb3.GetRgbWithTint()[0]); Assert.AreEqual(-91, (sbyte)rgb3.GetRgbWithTint()[1]); Assert.AreEqual(-91, (sbyte)rgb3.GetRgbWithTint()[2]); // Set the colour to black, will Get translated internally // (Excel stores 3 colour white and black wrong!) // Set the color to black (no theme). rgb3.SetRgb(new byte[] { 0, 0, 0 }); Assert.AreEqual("FF000000", rgb3.ARGBHex); Assert.AreEqual(0, rgb3.GetCTColor().GetRgb()[0]); Assert.AreEqual(0, rgb3.GetCTColor().GetRgb()[1]); Assert.AreEqual(0, rgb3.GetCTColor().GetRgb()[2]); // Set another, is fine rgb3.SetRgb(new byte[] { 16, 17, 18 }); Assert.IsFalse(rgb3.HasAlpha); Assert.AreEqual("FF101112", rgb3.ARGBHex); Assert.AreEqual(0x10, rgb3.GetCTColor().GetRgb()[0]); Assert.AreEqual(0x11, rgb3.GetCTColor().GetRgb()[1]); Assert.AreEqual(0x12, rgb3.GetCTColor().GetRgb()[2]); }
public void TestRGBColour() { XSSFWorkbook wb = XSSFTestDataSamples.OpenSampleWorkbook("50299.xlsx"); // Check the CTColor is as expected XSSFColor rgb3 = (XSSFColor)((XSSFCellStyle)wb.GetCellStyleAt((short)25)).FillForegroundXSSFColor; Assert.AreEqual(false, rgb3.GetCTColor().IsSetIndexed()); Assert.AreEqual(0, rgb3.GetCTColor().indexed); Assert.AreEqual(true, rgb3.GetCTColor().IsSetTint()); Assert.AreEqual(-0.34999, rgb3.GetCTColor().tint, 0.00001); Assert.AreEqual(true, rgb3.GetCTColor().IsSetRgb()); Assert.AreEqual(3, rgb3.GetCTColor().GetRgb().Length); // Now check the XSSFColor Assert.AreEqual(0, rgb3.Indexed); Assert.AreEqual(-0.34999, rgb3.Tint, 0.00001); Assert.AreEqual("FFFFFFFF", rgb3.GetARGBHex()); Assert.AreEqual(3, rgb3.GetRgb().Length); Assert.AreEqual(255, rgb3.GetRgb()[0]); Assert.AreEqual(255, rgb3.GetRgb()[1]); Assert.AreEqual(255, rgb3.GetRgb()[2]); Assert.AreEqual(4, rgb3.GetARgb().Length); Assert.AreEqual(255, rgb3.GetARgb()[0]); Assert.AreEqual(255, rgb3.GetARgb()[1]); Assert.AreEqual(255, rgb3.GetARgb()[2]); Assert.AreEqual(255, rgb3.GetARgb()[3]); // Tint doesn't have the alpha Assert.AreEqual(3, rgb3.GetRgbWithTint().Length); Assert.AreEqual(0, rgb3.GetRgbWithTint()[0]); Assert.AreEqual(0, rgb3.GetRgbWithTint()[1]); Assert.AreEqual(0, rgb3.GetRgbWithTint()[2]); // Set the colour to black, will Get translated internally // (Excel stores 3 colour white and black wrong!) rgb3.SetRgb(new byte[] { 255, 255, 255 }); Assert.AreEqual("FFFFFFFF", rgb3.GetARGBHex()); Assert.AreEqual(0, rgb3.GetCTColor().GetRgb()[0]); Assert.AreEqual(0, rgb3.GetCTColor().GetRgb()[1]); Assert.AreEqual(0, rgb3.GetCTColor().GetRgb()[2]); // Set another, is fine rgb3.SetRgb(new byte[] { 16, 17, 18 }); Assert.AreEqual("FF101112", rgb3.GetARGBHex()); Assert.AreEqual(0x10, rgb3.GetCTColor().GetRgb()[0]); Assert.AreEqual(0x11, rgb3.GetCTColor().GetRgb()[1]); Assert.AreEqual(0x12, rgb3.GetCTColor().GetRgb()[2]); }
static ExcelCreate() { _scoreColor = new XSSFColor(); _scoreColor.SetRgb(new byte[] { 255, 153, 58 }); _winRateColor = new XSSFColor(); _winRateColor.SetRgb(new byte[] { 255, 0, 0 }); _bgColor1 = new XSSFColor(); _bgColor1.SetRgb(new byte[] { 112, 206, 188 }); _bgColor2 = new XSSFColor(); _bgColor2.SetRgb(new byte[] { 220, 230, 241 }); }