Ejemplo n.º 1
0
        /**
         * @return color of the line. If color is not Set returns <code>java.awt.Color.black</code>
         */
        public Color GetLineColor()
        {
            EscherOptRecord opt = (EscherOptRecord)GetEscherChild(_escherContainer, EscherOptRecord.RECORD_ID);

            EscherSimpleProperty p1 = (EscherSimpleProperty)GetEscherProperty(opt, EscherProperties.LINESTYLE__COLOR);
            EscherSimpleProperty p2 = (EscherSimpleProperty)GetEscherProperty(opt, EscherProperties.LINESTYLE__NOLINEDRAWDASH);
            int   p2val             = p2 == null ? 0 : p2.PropertyValue;
            Color clr = null;

            if ((p2val & 0x8) != 0 || (p2val & 0x10) != 0)
            {
                int rgb = p1 == null ? 0 : p1.PropertyValue;
                if (rgb >= 0x8000000)
                {
                    int idx = rgb % 0x8000000;
                    if (Sheet != null)
                    {
                        ColorSchemeAtom ca = Sheet.GetColorScheme();
                        if (idx >= 0 && idx <= 7)
                        {
                            rgb = ca.GetColor(idx);
                        }
                    }
                }
                Color tmp = new Color(rgb, true);
                clr = new Color(tmp.GetBlue(), tmp.GetGreen(), tmp.GetRed());
            }
            return(clr);
        }
Ejemplo n.º 2
0
Archivo: Shape.cs Proyecto: zzy092/npoi
        protected Color GetColor(int rgb, int alpha)
        {
            if (rgb >= 0x8000000)
            {
                int             idx = rgb - 0x8000000;
                ColorSchemeAtom ca  = Sheet.GetColorScheme();
                if (idx >= 0 && idx <= 7)
                {
                    rgb = ca.GetColor(idx);
                }
            }
            Color tmp = Color.FromArgb(rgb);

            return(Color.FromArgb(alpha, tmp.B, tmp.G, tmp.R));
        }