WPF绘图.基本思想

ZC:使用 System.Windows.Shapes.Line时,如果 ((X1==X2)&&(Y1==Y2))的话,是看不出效果的...至少需要有些差距

 

1、(20191218)思想需要转变一下:原来以为 Canvas是画布,在上面绘制图形,就像以前的 WinForm的原理类似,但是今天 我的想法改变了...

  我在创建&使用 System.Windows.Shapes.Ellipse的时候,发现 没有地方设置 椭圆的X&Y轴坐标,怎么找也找不到这个属性,后来一想 是不是使用 Margin属性啊,一试 确实是 ! ! ...然后想到 官网的例子里面,居然将 创建的椭圆 添加到 Grid的Children中去了(Ellipse 类 (System.Windows.Shapes) _ Microsoft Docs.html[https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.shapes.ellipse?redirectedfrom=MSDN&view=netframework-4.8])。这样 我才意识到,WPF里面绘制的图形 也相当于 控件一样? 它们之间没有明显的鸿沟??

 1.1、官方例子代码:

// Add an Ellipse Element
myEllipse = new Ellipse();
myEllipse.Stroke = System.Windows.Media.Brushes.Black;
myEllipse.Fill = System.Windows.Media.Brushes.DarkBlue;
myEllipse.HorizontalAlignment = HorizontalAlignment.Left;
myEllipse.VerticalAlignment = VerticalAlignment.Center;
myEllipse.Width = 50;
myEllipse.Height = 75;
myGrid.Children.Add(myEllipse);

 1.2、我的测试代码:(canSrc是一个<Canvas>)

            Ellipse ellipse = new Ellipse();
            ellipse.Stroke = System.Windows.Media.Brushes.Black;
            ellipse.Fill = System.Windows.Media.Brushes.DarkBlue;
            ellipse.HorizontalAlignment = HorizontalAlignment.Left;
            ellipse.VerticalAlignment = VerticalAlignment.Center;
            ellipse.Width = 50;
            ellipse.Height = 75;
            ellipse.Margin = new Thickness(50, 100, 0, 0);
            canSrc.Children.Add(ellipse);

  ZC:我发现 <Canvas>也没有 draw之类的函数...  度娘"WPF canvas 绘制 图片" 也没看到 canvas画图片的相关东西...

2、

3、

4、

5、

 

posted @ 2019-12-18 10:50  csskill  阅读(324)  评论(0编辑  收藏  举报