Пример #1
0
        internal override void GetXml()
        {
            _colors         = new ExcelDrawingGradientFillColorList(_xml.NameSpaceManager, _xml.TopNode, ColorsPath, _schemaNodeOrder);
            RotateWithShape = _xml.GetXmlNodeBool("@rotWithShape");
            try
            {
                var s = _xml.GetXmlNodeString("@flip");
                if (string.IsNullOrEmpty(s))
                {
                    TileFlip = eTileFlipMode.None;
                }
                else
                {
                    TileFlip = (eTileFlipMode)Enum.Parse(typeof(eTileFlipMode), s, true);
                }
            }
            catch
            {
                TileFlip = eTileFlipMode.None;
            }

            var cols = _xml.TopNode.SelectSingleNode("a:gsLst", _xml.NameSpaceManager);

            if (cols != null)
            {
                foreach (XmlNode c in cols.ChildNodes)
                {
                    var xml = XmlHelperFactory.Create(_xml.NameSpaceManager, c);
                    _colors.Add(xml.GetXmlNodeDouble("@pos") / 1000, c);
                }
            }
            var path = _xml.GetXmlNodeString("a:path/@path");

            if (!string.IsNullOrEmpty(path))
            {
                if (path == "rect")
                {
                    path = "rectangle";
                }
                ShadePath = path.ToEnum(eShadePath.Linear);
            }
            else
            {
                ShadePath = eShadePath.Linear;
            }
            if (ShadePath == eShadePath.Linear)
            {
                LinearSettings = new ExcelDrawingGradientFillLinearSettings(_xml);
            }
            else
            {
                FocusPoint = new ExcelDrawingRectangle(_xml, "a:path/a:fillToRect/", 0);
            }
        }
Пример #2
0
        internal override void GetXml()
        {
            var relId = _xml.GetXmlNodeString("a:blip/@r:embed");

            if (!string.IsNullOrEmpty(relId))
            {
                _image      = PictureStore.GetPicture(relId, this, out string contentType);
                ContentType = contentType;
            }
            SourceRectangle = new ExcelDrawingRectangle(_xml, "a:srcRect/", 0);
            Stretch         = _xml.ExistNode("a:stretch");
            if (Stretch)
            {
                StretchOffset = new ExcelDrawingRectangle(_xml, "a:stretch/a:fillRect/", 0);
            }

            Tile = new ExcelDrawingBlipFillTile(_xml);
        }