Практическое руководство. Перечисление содержимого изображения визуального элемента
Обновлен: Ноябрь 2007
Объект Drawing предоставляет модель объекта для перечисления содержимого Visual.
Пример
В следующем примере метод GetDrawing используется для извлечения значения DrawingGroup объекта Visual и его перечисления.
![]() |
---|
При перечислении содержимого объекта visual, извлекаются объекты Drawing, но не базовое представление отображаемых данных, как, например, список инструкций вектора графики. Дополнительные сведения см. в разделе Обзор графической визуализации Windows Presentation Foundation. |
public void RetrieveDrawing(Visual v)
{
DrawingGroup dGroup = VisualTreeHelper.GetDrawing(v);
EnumDrawingGroup(dGroup);
}
// Enumerate the drawings in the DrawingGroup.
public void EnumDrawingGroup(DrawingGroup drawingGroup)
{
DrawingCollection dc = drawingGroup.Children;
// Enumerate the drawings in the DrawingCollection.
foreach (Drawing drawing in dc)
{
// If the drawing is a DrawingGroup, call the function recursively.
if (drawing.GetType() == typeof(DrawingGroup))
{
EnumDrawingGroup((DrawingGroup)drawing);
}
else if (drawing.GetType() == typeof(GeometryDrawing))
{
// Perform action based on drawing type.
}
else if (drawing.GetType() == typeof(ImageDrawing))
{
// Perform action based on drawing type.
}
else if (drawing.GetType() == typeof(GlyphRunDrawing))
{
// Perform action based on drawing type.
}
else if (drawing.GetType() == typeof(VideoDrawing))
{
// Perform action based on drawing type.
}
}
}
См. также
Основные понятия
Обзор графической визуализации Windows Presentation Foundation