zoukankan      html  css  js  c++  java
  • C# 模拟鼠标写字

    经常看到别人拿个四四方方的写字板用笔写字,用C#其实也可以实现,大致思路就是处理鼠标的坐标和Graphics,

    代码如下:

    首先声明两个全局变量

    bool isMouseDown = false;
            Point point = new Point();


    再重写MouseDown事件:

     protected override void OnMouseDown(MouseEventArgs e)
            {
                point = e.Location; //当前的坐标
                isMouseDown = true;//表示已经按下鼠标
            }

    因为写字的时候少不了上下左右移动,这里还要重写Move事件:

      protected override void OnMouseMove(MouseEventArgs e)
            {
                if (isMouseDown)
                {
                    using (Graphics G = this.CreateGraphics())
                    {
                        G.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
                        using (Pen pen=new Pen (Color.Black,3f)) //画笔
                        {
                            G.DrawLine(pen, point, e.Location);//开始画线
                            point = e.Location;//更新坐标
                        }
                    }
                }
            }

    最后一步,重写MouseUp事件即可:

     protected override void OnMouseUp(MouseEventArgs e)
            {
                isMouseDown = false;
            }

    效果图如下:初始界面

    写字的界面:

    不知道有什么办法可以像其它那些输入法一样,写完之后将最接近的字给索引出来,知道的大神请指点一下,欢迎拍砖。。。

  • 相关阅读:
    【转】Skynet之消息队列
    [转]Skynet之斗转星移
    [转]skynet Lua中的协程
    win7 + nginx + php
    LexAndYacc 安装程序
    ubuntu + samba 共享失败
    [转]TDD之Dummy Stub Fake Mock
    【转】 纯技术帖:MMOG网络同步算法揭秘
    [转]帧锁定同步算法
    [转]游戏中的同步
  • 原文地址:https://www.cnblogs.com/allen0118/p/4137148.html
Copyright © 2011-2022 走看看