public ToBitmapEffect ( ) : System.Windows.Media.Effects.BitmapEffect | ||
리턴 | System.Windows.Media.Effects.BitmapEffect |
public BitmapEffect ToBitmapEffect()
{
if(Document.Options.IgnoreEffects)
return null;
BitmapEffectGroup bitmap_effect_group = new BitmapEffectGroup();
foreach(SvgFilterEffectBaseElement filter_effect in FilterEffects)
{
BitmapEffect bitmap_effect = filter_effect.ToBitmapEffect();
if(bitmap_effect != null)
bitmap_effect_group.Children.Add(bitmap_effect);
}
if(bitmap_effect_group.Children.Count == 0)
return null;
return bitmap_effect_group;
}
//========================================================================== public virtual Drawing Draw() { Drawing drawing = GetBaseDrawing(); if (drawing == null) { return(null); } BitmapEffect bitmap_effect = null; if (Filter != null) { if (Document.Elements.ContainsKey(Filter)) { SvgFilterElement filter_element = Document.Elements[Filter] as SvgFilterElement; if (filter_element != null) { bitmap_effect = filter_element.ToBitmapEffect(); } } } Brush opacity_mask = null; if (Mask != null) { SvgMaskElement mask_element = Document.Elements[Mask] as SvgMaskElement; if (mask_element != null) { opacity_mask = mask_element.GetOpacityMask(); if (opacity_mask != null) { if (Transform != null) { opacity_mask.Transform = Transform.ToTransform(); } } } } if ((opacity_mask == null) && (bitmap_effect == null)) { return(drawing); } DrawingGroup drawing_group = new DrawingGroup(); drawing_group.BitmapEffect = bitmap_effect; drawing_group.OpacityMask = opacity_mask; drawing_group.Children.Add(drawing); return(drawing_group); }