Nasıl yapılır: Görselin Çizim İçeriğini Numaralandırma
DrawingNesnesi, içeriğini listelemek için bir nesne modeli sağlar Visual .
Örnek
Aşağıdaki örnek, GetDrawing değerini almak ve numaralandırmak için yöntemini kullanır DrawingGroupVisual .
Not
Görselin içeriğini Numaralandırdığınızda, Drawing nesneleri, işleme verilerinin bir vektör grafik yönerge listesi olarak değil, temel gösterimini değil, alıyor olursunuz. Daha fazla bilgi için bkz. WPF Grafik Işlemeye genel bakış.
public void RetrieveDrawing(Visual v)
{
DrawingGroup drawingGroup = VisualTreeHelper.GetDrawing(v);
EnumDrawingGroup(drawingGroup);
}
// 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 is DrawingGroup group)
{
EnumDrawingGroup(group);
}
else if (drawing is GeometryDrawing)
{
// Perform action based on drawing type.
}
else if (drawing is ImageDrawing)
{
// Perform action based on drawing type.
}
else if (drawing is GlyphRunDrawing)
{
// Perform action based on drawing type.
}
else if (drawing is VideoDrawing)
{
// Perform action based on drawing type.
}
}
}