白板的基本操作(画笔,橡皮檫、滚屏,颜色)

因工作需要研究了下白板的基础操作特地在此总结下,在这过程中碰到的一些问题和经验一起 分享给大家希望对大家有帮助。

需要完成的功能:画笔、橡皮檫、滚屏、颜色这四个功能。

 

如图:以上方法就是 在窗体的paint中不断的绘画出内容,原来绘画的内容就会被清除掉,所以我们要把每次画的点数记录下来,记录下来后每次绘画的时候就不断的去绘画原来的内容,这样就会导致问题出现,

问题:每画一笔会有齿轮、倒刺,不平滑

解决办法:.使用上图所示的方法,  

                        pen.LineJoin = LineJoin.Round;//两点链接的方法

                       g.PixelOffsetMode = PixelOffsetMode.HighQuality; //高像素偏移质量
                        g.CompositingQuality = CompositingQuality.HighQuality;
                        g.SmoothingMode = SmoothingMode.AntiAlias;

问题:一开始画,画笔的速度可以,不断的画,到最后画笔绘画出来的内容完全跟不上鼠标 ,会导致越画越慢。

解决办法:1.抛弃drawline方法,使用DrawCurve方法这个方法可以画出平滑曲线,

2.每画一笔就记录一笔的点在画布画出这一笔,把画布保存为图片,然后在paint中画出图片即可,最后清空掉这一笔的值

问题:使用DrawCurve会有多条线,明明只画了一笔却有多条曲线

解决办法:这个是因为在paint中不断的去画所以会有多条曲线出现,需要在鼠标释放的函数中添加方法:

在鼠标释放的时候在原来的图片中添加一笔并把图片赋值给bp,然后清空graphicsList。在走paint函数时会判断bp是否为空,不为空就把图片画出来。

橡皮檫功能其实很简单,把画笔的颜色改为白板的背景颜色,这样画了一笔就相当于檫一下。

颜色:控制白板的背景颜色、画笔颜色、橡皮檫大小等一些基础设置

滚屏:记录点鼠标前和点鼠标后的坐标,然后计算差值,用记录总数的坐标去减差值最后把坐标画到画布上保存为图片即可

到此就结束了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值