2016-01-22 5 views
0
public static void DrawSkeleton(this Canvas canvas, Body body) 
{ 
    foreach (Joint joint in body.Joints.Values) 
    { 
     canvas.DrawPoint(joint); 
    } 
} 

public static void DrawPoint(this Canvas canvas, Joint joint) 
{ 
    joint = joint.ScaleTo(canvas.ActualWidth, canvas.ActualHeight); 

    Ellipse ellipse = new Ellipse 
    { 
     Width = 20, 
     Height = 20, 
     Fill = new SolidColorBrush(Colors.LightBlue) 
    }; 

    Canvas.SetLeft(ellipse, joint.Position.X - ellipse.Width/2); 
    Canvas.SetTop(ellipse, joint.Position.Y - ellipse.Height/2); 

    canvas.Children.Add(ellipse); 
} 

Я хочу добавить небольшое jpeg-изображение из пути к папке приложения вместо эллипса.Добавить изображение вместо эллипса при рисовании скелета с помощью Kinect SDK

Может ли кто-нибудь мне помочь?

ответ

1

Вы должны установить CacheOption в OnLoad:

 var bitmap = new BitmapImage(); 
     bitmap.BeginInit(); 
     bitmap.UriSource = new Uri("yourimage.png", UriKind.Relative); 
     bitmap.CacheOption = BitmapCacheOption.OnLoad; 
     bitmap.EndInit(); 
     var img = new Image{Source=bitmap}; 

     canvas.Children.Add(img); 
+0

классное изображение есть, но не n суставов :(из суставов – Neo

2
Image img = new Image 
{ 
    Width = 20, 
    Height = 20, 
    Source = new BitmapImage(new Uri("your/image/relative/path", UriKind.Relative)), 
}; 

Canvas.SetLeft(img, joint.Position.X - img.Width/2); 
Canvas.SetTop(img, joint.Position.Y - img.Height/2); 

canvas.Children.Add(img); 
+0

Я попытался 'canvas.Children.Add (IMG)' все еще показывает эллипс :(почему так – Neo

+0

прохладное изображение есть, но не п? суставы :(из суставов – Neo

+1

Извините, я поменялся методами SetLeft и SetTop. Теперь он должен работать –

 Смежные вопросы

  • Нет связанных вопросов^_^