none
在WPF中如何绘制离散的点? RRS feed

  • 问题

  • 在WPF可以绘制许多几何图形及图像,但是没有绘制一个坐标点的功能,我不知如何实现一些离散点的绘制?

    2008年2月3日 11:54

答案

  •  

            public Page()
            {
                InitializeComponent();
                this.b1.Click += new RoutedEventHandler(b1_Click);
            }

            void b1_Click(object sender, RoutedEventArgs e)
            {
                //建立第一个点
                Canvas c1 = new Canvas();
                //长
                c1.Height = 5;
                //宽
                c1.Width = 5;
                //背景色
                c1.Background = new SolidColorBrush(Colors.Blue);
                //添加到表示层
                LayoutRoot.Children.Add(c1);

                //第二个点
                Canvas c2 = new Canvas();
                c2.Height = 5;
                c2.Width = 5;
                c2.Background = new SolidColorBrush(Colors.Green);
                LayoutRoot.Children.Add(c2);

                //设置点1的位置
                c1.Margin = new Thickness(50, 50, 50, 100);
            }

     

    你可以用Ellipse来绘制圆点,上边那个Canvas是方点.

    这个是我在sliverlight2做的,相信在wpf中也是没问题的.

    希望对你有帮助.

    2008年4月2日 6:27

全部回复

  •  

    这个恐怕不行的,wpf的实现是托管库对d3d的封装,因此wpf的概念和d3d相同,在3d3中图形系统是以三角形为最基本粒子的,即3顶点确定一个平面,顶点是组成几何图形的元素,一个区别是wpf中使用向量来描述顶点的位置,而d3d中使用4维矩阵来描述,这两者其实一致的,2者可以转换,相对来讲4维矩阵的信息量更大一些。

     

    如果要显示点可以用很小的三角形来代替

    2008年2月26日 1:14
  •  

            public Page()
            {
                InitializeComponent();
                this.b1.Click += new RoutedEventHandler(b1_Click);
            }

            void b1_Click(object sender, RoutedEventArgs e)
            {
                //建立第一个点
                Canvas c1 = new Canvas();
                //长
                c1.Height = 5;
                //宽
                c1.Width = 5;
                //背景色
                c1.Background = new SolidColorBrush(Colors.Blue);
                //添加到表示层
                LayoutRoot.Children.Add(c1);

                //第二个点
                Canvas c2 = new Canvas();
                c2.Height = 5;
                c2.Width = 5;
                c2.Background = new SolidColorBrush(Colors.Green);
                LayoutRoot.Children.Add(c2);

                //设置点1的位置
                c1.Margin = new Thickness(50, 50, 50, 100);
            }

     

    你可以用Ellipse来绘制圆点,上边那个Canvas是方点.

    这个是我在sliverlight2做的,相信在wpf中也是没问题的.

    希望对你有帮助.

    2008年4月2日 6:27