예제 #1
0
        /// <summary>
        ///		Carga un gradiante circular
        /// </summary>
        private RadialGradientBrushModel LoadRadialBrush(MLNode nodeML)
        {
            RadialGradientBrushModel radial = new RadialGradientBrushModel(nodeML.Attributes[ComicRepositoryConstants.TagKey].Value,
                                                                           nodeML.Attributes[ComicRepositoryConstants.TagResourceKey].Value);

            // Carga los datos del gradiante
            radial.Center       = Mediator.CommonRepository.GetPoint(nodeML.Attributes[ComicRepositoryConstants.TagCenter].Value);
            radial.RadiusX      = nodeML.Attributes[ComicRepositoryConstants.TagRadiusX].Value.GetDouble(1);
            radial.RadiusY      = nodeML.Attributes[ComicRepositoryConstants.TagRadiusY].Value.GetDouble(1);
            radial.Origin       = Mediator.CommonRepository.GetPoint(nodeML.Attributes[ComicRepositoryConstants.TagOrigin].Value);
            radial.SpreadMethod = Mediator.CommonRepository.GetSpreadMethod(nodeML.Attributes[ComicRepositoryConstants.TagSpread].Value);
            // Asigna los puntos de parada
            radial.Stops.AddRange(LoadStops(nodeML));
            // Devuelve el gradiante
            return(radial);
        }
예제 #2
0
        /// <summary>
        ///		Crea una brocha con un gradiante circular
        /// </summary>
        private static RadialGradientBrush ConvertRadialBrush(PageModel page, RadialGradientBrushModel brush)
        {
            RadialGradientBrush background = new RadialGradientBrush();

            // Obtiene la brocha a partir del nombre del recurso
            if (!string.IsNullOrEmpty(brush.ResourceKey))
            {
                brush = GetBrushDefinition(page, brush.ResourceKey) as RadialGradientBrushModel;
            }
            // Si realmente se ha encontrado una brocha
            if (brush != null)
            {
                // Asigna los datos de la brocha
                background.Center         = Convert(brush.Center);
                background.RadiusX        = brush.RadiusX;
                background.RadiusY        = brush.RadiusY;
                background.GradientOrigin = Convert(brush.Origin);
                // Asigna los puntos
                AddGradientStops(background, brush.Stops);
            }
            // Devuelve la brocha
            return(background);
        }