private byte[] GetRGBOrARGB() { byte[] rgb = null; if (ctColor.indexedSpecified && ctColor.indexed > 0) { HSSFColor indexed = (HSSFColor)HSSFColor.GetIndexHash()[(int)ctColor.indexed]; if (indexed != null) { rgb = new byte[3]; rgb[0] = (byte)indexed.GetTriplet()[0]; rgb[1] = (byte)indexed.GetTriplet()[1]; rgb[2] = (byte)indexed.GetTriplet()[2]; return(rgb); } } if (!ctColor.IsSetRgb()) { // No colour is available, sorry return(null); } // Grab the colour rgb = ctColor.GetRgb(); // Correct it as needed, and return return(rgb); }
/** * Standard Red Green Blue ctColor value (RGB) with applied tint. * Alpha values are ignored. */ public byte[] GetRgbWithTint() { byte[] rgb = ctColor.GetRgb(); if (rgb != null) { if (rgb.Length == 4) { byte[] tmp = new byte[3]; Array.Copy(rgb, 1, tmp, 0, 3); rgb = tmp; } for (int i = 0; i < rgb.Length; i++) { rgb[i] = ApplyTint(rgb[i] & 0xFF, ctColor.tint); } } return(rgb); }
/** * * CTRPrElt --> CTFont adapter */ protected static CT_Font ToCTFont(CT_RPrElt pr) { CT_Font ctFont = new CT_Font(); if (pr.SizeOfBArray() > 0) { ctFont.AddNewB().val = (pr.GetBArray(0).val); } if (pr.SizeOfUArray() > 0) { ctFont.AddNewU().val = (pr.GetUArray(0).val); } if (pr.SizeOfIArray() > 0) { ctFont.AddNewI().val = (pr.GetIArray(0).val); } if (pr.SizeOfColorArray() > 0) { CT_Color c1 = pr.GetColorArray(0); CT_Color c2 = ctFont.AddNewColor(); if (c1.IsSetAuto()) { c2.auto = (c1.auto); c2.autoSpecified = true; } if (c1.IsSetIndexed()) { c2.indexed = (c1.indexed); c2.indexedSpecified = true; } if (c1.IsSetRgb()) { c2.SetRgb(c1.GetRgb()); c2.rgbSpecified = true; } if (c1.IsSetTheme()) { c2.theme = (c1.theme); c2.themeSpecified = true; } if (c1.IsSetTint()) { c2.tint = (c1.tint); c2.tintSpecified = true; } } if (pr.SizeOfSzArray() > 0) { ctFont.AddNewSz().val = (pr.GetSzArray(0).val); } if (pr.SizeOfRFontArray() > 0) { ctFont.AddNewName().val = (pr.GetRFontArray(0).val); } if (pr.SizeOfFamilyArray() > 0) { ctFont.AddNewFamily().val = (pr.GetFamilyArray(0).val); } if (pr.sizeOfSchemeArray() > 0) { ctFont.AddNewScheme().val = (pr.GetSchemeArray(0).val); } if (pr.sizeOfCharsetArray() > 0) { ctFont.AddNewCharset().val = (pr.GetCharsetArray(0).val); } if (pr.sizeOfCondenseArray() > 0) { ctFont.AddNewCondense().val = (pr.GetCondenseArray(0).val); } if (pr.sizeOfExtendArray() > 0) { ctFont.AddNewExtend().val = (pr.GetExtendArray(0).val); } if (pr.sizeOfVertAlignArray() > 0) { ctFont.AddNewVertAlign().val = (pr.GetVertAlignArray(0).val); } if (pr.sizeOfOutlineArray() > 0) { ctFont.AddNewOutline().val = (pr.GetOutlineArray(0).val); } if (pr.sizeOfShadowArray() > 0) { ctFont.AddNewShadow().val = (pr.GetShadowArray(0).val); } if (pr.sizeOfStrikeArray() > 0) { ctFont.AddNewStrike().val = (pr.GetStrikeArray(0).val); } return(ctFont); }