/// <summary> /// Carga un gradiante lineal /// </summary> private LinearGradientBrushModel LoadLinearBrush(MLNode nodeML) { LinearGradientBrushModel linear = new LinearGradientBrushModel(nodeML.Attributes[ComicRepositoryConstants.TagKey].Value, nodeML.Attributes[ComicRepositoryConstants.TagResourceKey].Value); // Carga los datos del gradiante linear.Start = Mediator.CommonRepository.GetPoint(nodeML.Attributes[ComicRepositoryConstants.TagStart].Value); linear.End = Mediator.CommonRepository.GetPoint(nodeML.Attributes[ComicRepositoryConstants.TagEnd].Value); linear.SpreadMethod = Mediator.CommonRepository.GetSpreadMethod(nodeML.Attributes[ComicRepositoryConstants.TagSpread].Value); // Añade los puntos de parada linear.Stops.AddRange(LoadStops(nodeML)); // Devuelve el gradiante return(linear); }
/// <summary> /// Crea una brocha con un gradiante lineal /// </summary> private static LinearGradientBrush ConvertLinearBrush(PageModel page, LinearGradientBrushModel brush) { LinearGradientBrush background = new LinearGradientBrush(); // Obtiene la brocha a partir del nombre del recurso if (!string.IsNullOrEmpty(brush.ResourceKey)) { brush = GetBrushDefinition(page, brush.ResourceKey) as LinearGradientBrushModel; } // Si realmente se ha encontrado una brocha ... if (brush != null) { // Asigna los datos de la brocha background.StartPoint = Convert(brush.Start); background.EndPoint = Convert(brush.End); background.SpreadMethod = Convert(brush.SpreadMethod); // Asigna los puntos AddGradientStops(background, brush.Stops); } // Devuelve la brocha return(background); }