public void TestThemesTableColors() { XSSFWorkbook workbook = XSSFTestDataSamples.OpenSampleWorkbook(testFile); String[] rgbExpected = new string[] { "ffffff", // Lt1 "000000", // Dk1 "eeece1", // Lt2 "1f497d", // DK2 "4f81bd", // Accent1 "c0504d", // Accent2 "9bbb59", // Accent3 "8064a2", // Accent4 "4bacc6", // Accent5 "f79646", // Accent6 "0000ff", // Hlink "800080" // FolHlink }; int i = 0; foreach (IRow row in workbook.GetSheetAt(0)) { XSSFFont font = (XSSFFont)row.GetCell(0).CellStyle.GetFont(workbook); XSSFColor color = ((XSSFFont)font).GetXSSFColor(); Assert.AreEqual(rgbExpected[i], BitConverter.ToString(color.GetRgb()).Replace("-", "").ToLower(), "Failed color theme " + i); long themeIdx = font.GetCTFont().color[0].theme; Assert.AreEqual(i, themeIdx, "Failed color theme " + i); i++; } }
public void FromColor(XSSFColor color) { var values = color.GetRgb(); R = values[0]; G = values[1]; B = values[2]; }
public void TestColorFromTheme() { XSSFWorkbook wb = XSSFTestDataSamples.OpenSampleWorkbook("styles.xlsx"); XSSFCell cellWithThemeColor = (XSSFCell)wb.GetSheetAt(0).GetRow(10).GetCell(0); //color RGB will be extracted from theme XSSFColor foregroundColor = (XSSFColor)((XSSFCellStyle)cellWithThemeColor.CellStyle).FillForegroundColorColor; byte[] rgb = foregroundColor.GetRgb(); Assert.AreEqual(rgb[0], 238); Assert.AreEqual(rgb[1], 236); Assert.AreEqual(rgb[2], 225); byte[] rgbWithTint = foregroundColor.GetRgbWithTint(); Assert.AreEqual(rgbWithTint[0], 244); Assert.AreEqual(rgbWithTint[1], 243); Assert.AreEqual(rgbWithTint[2], 236); }
public void TestColorFromTheme() { XSSFWorkbook wb = XSSFTestDataSamples.OpenSampleWorkbook("styles.xlsx"); XSSFCell cellWithThemeColor = (XSSFCell)wb.GetSheetAt(0).GetRow(10).GetCell(0); //color RGB will be extracted from theme XSSFColor foregroundColor = (XSSFColor)((XSSFCellStyle)cellWithThemeColor.CellStyle).FillForegroundColorColor; byte[] rgb = foregroundColor.GetRgb(); byte[] rgbWithTint = foregroundColor.GetRgbWithTint(); // Dk2 Assert.AreEqual(rgb[0], 31); Assert.AreEqual(rgb[1], 73); Assert.AreEqual(rgb[2], 125); // Dk2, lighter 40% (tint is about 0.39998) // 31 * (1.0 - 0.39998) + (255 - 255 * (1.0 - 0.39998)) = 120.59552 => 120 (byte) // 73 * (1.0 - 0.39998) + (255 - 255 * (1.0 - 0.39998)) = 145.79636 => -111 (byte) // 125 * (1.0 - 0.39998) + (255 - 255 * (1.0 - 0.39998)) = 176.99740 => -80 (byte) Assert.AreEqual(rgbWithTint[0], 120); Assert.AreEqual((sbyte)rgbWithTint[1], -111); Assert.AreEqual((sbyte)rgbWithTint[2], -80); }