Silverlight绘制简单图形

这两天没事做了个Silverlight鼠标绘图的小程序,程序截图如下

2010072216080233.png

点击左边的图形选项按钮,可以画出不同的图形。

代码如下

首先需要在界面上放一个Canvas

 <Canvas x:Name="View" Background="AliceBlue" MouseLeftButtonDown="View_MouseLeftButtonDown" MouseLeftButtonUp="View_MouseLeftButtonUp" MouseMove="View_MouseMove"/>
后台代码
私有变量
        bool isMove = false;//记录是否移动
        Point startPoint;//记录鼠标移动的起始点
        Polygon py;//图形类型 
 
 
     PointCollection pcTriangle; //记录图形需要的点    
 按下鼠标,记录鼠标的起始点,初始化多边形,并添加到canvas中,并且图形获取焦点
 
 
            FrameworkElement element = sender as FrameworkElement;
            element.CaptureMouse();
            py = new Polygon()
                    {
                     Fill=new SolidColorBrush(Colors.Red),
                     Name=Guid.NewGuid().ToString()
                    };
            startPoint = e.GetPosition(View);
            pcTriangle = new PointCollection();
            pcTriangle.Add(startPoint);
            py.Points = pcTriangle;
            View.Children.Add(py);
            isMove = true;
 移动鼠标,分别向点集合中添加画直角三角形需要三个点 
 
 
 
 if (isMove)
            {
                
                pcTriangle.Clear();
                pcTriangle.Add(e.GetPosition(View));
                pcTriangle.Add(new Point(startPoint.X, e.GetPosition(View).Y));
                pcTriangle.Add(startPoint);
               
            }
松开鼠标,释放焦点
            FrameworkElement element = sender as FrameworkElement;
            element.ReleaseMouseCapture();
            isMove = false;
其他的简单图形画法和这个一样,可以一次类推。
PS:不过一直找不到画普通三角形的方法,各位大鸟谁知道的话请提示一下。谢谢

转载于:https://www.cnblogs.com/HellenTian/archive/2010/07/22/1783148.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值