一个偶然机会得知,触摸屏可替代签批屏,其原理就是通过GraphicsPath来记录触摸过的坐标点,再通过Paint事件实时绘制到屏幕上,下面对类进行了封装,封装类似汉王签批屏的模式,主要流程如下:

1、初始化

        /// <summary>/// 初始化/// </summary>/// <param name="_signname"></param>/// <param name="_panel"></param>public void Init(string _signname, Panel _panel){try{SignBox.Parent = _panel;SignBox.Left = 0;SignBox.Top = 0;SignBox.Width = _panel.Width;SignBox.Height = _panel.Height;SignBox.Paint += SignBox_Paint;SignBox.MouseDown += SignBox_MouseDown;SignBox.MouseMove += SignBox_MouseMove;SignName = _signname;}catch (Exception ex){LogHelper.Debug(ex);}}

2、记录绘制轨迹

        private void SignBox_MouseMove(object sender, MouseEventArgs e){if (e.Button == System.Windows.Forms.MouseButtons.Left){try{mousePath.AddLine(e.X, e.Y, e.X, e.Y);}catch (Exception ex){MessageBox.Show(ex.Message);}}SignBox.Invalidate();}private void SignBox_MouseDown(object sender, MouseEventArgs e){if (e.Button == System.Windows.Forms.MouseButtons.Left){mousePath.StartFigure();}}

3、绘制

        private void SignBox_Paint(object sender, PaintEventArgs e){try{myUserColor = System.Drawing.Color.Black;myAlpha = 255;Pen CurrentPen = new Pen(Color.FromArgb(myAlpha, myUserColor), myPenWidth);e.Graphics.DrawPath(CurrentPen, mousePath);}catch (Exception ex){LogHelper.Debug(ex);}}

4、保存签字信息

        /// <summary>/// 签字/// </summary>/// <returns></returns>public bool Sign(){bool Ret = false;try{if (mousePath.PointCount > 0){using (SavedBitmap = new Bitmap(SignBox.Width, SignBox.Height)){SignBox.DrawToBitmap(SavedBitmap, new Rectangle(0, 0, SignBox.Width, SignBox.Height));SavedBitmap.Save(SignName);Ret = true;}}}catch (Exception ex){LogHelper.Debug(ex);}return Ret;}

5、重签

        /// <summary>/// 清除/// </summary>public void Clear(){try{using (Graphics gra = SignBox.CreateGraphics()){gra.Clear(Color.White);}mousePath.Reset();}catch (Exception ex){LogHelper.Debug(ex);}}

6、释放

        /// <summary>/// 释放/// </summary>public void Uinit(){try{if (SavedBitmap != null) SavedBitmap.Dispose();if (mousePath != null) mousePath.Dispose();}catch (Exception ex){LogHelper.Debug(ex);}}

效果如图

触摸屏幕签字实现,免汉王等设备SDK对接相关推荐

  1. c语言 sdk,适用于 C 语言的 Azure IoT 设备 SDK

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 适用于 C 的 Azu ...

  2. 宇视科技设备SDK获取方式

    Q:宇视科技设备SDK获取方式 A:宇视科技现已将SDK开发包放置在官网 [首页] > [服务与培训] >[下载中心] >[SDK开发] http://cn.uniview.com/ ...

  3. android usb麦克风阵列,语音设备 SDK 麦克风阵列建议

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 语音设备 SDK 麦克 ...

  4. 海康威视设备SDK调用,是否支持IP通道的思考

    最新看海康设备SDK demo,感觉有点问题,现在把它记录写下来,做个记录.这个事情从本质上来说,不值得说,但还是详细分享一下. BOOL CRealPlayDlg::DoLogin() {Updat ...

  5. 支付宝免密代扣签约SDK后台拼接(JAVA代码)

    支付宝免密代扣签约SDK后台拼接(JAVA代码) 我是在做小程序时遇到的困难,在多方支持下才发现支付宝官方文档有很大的漏洞0.0,所以附上完整成功版供大家使用.开发时请结合支付宝官方免密代扣签约文档. ...

  6. 证件身份证识别设备SDK

    证件身份证识别设备SDK 一.证件身份证识别设备应用背景 海关在管理旅客出境.入境时,需要旅客出示有效身份证证件(身份证.电子护照.港澳通行证.军官证.驾驶证.回乡证.户口本等),相关工作人员需要登记 ...

  7. python基于海康设备SDK的二次开发(三)

    (最近重新修改了下SDK,因为在两个车间各安装了一台设备) 再次使用下这张图 今天是海康设备SDK二次开发的第三天,也是最后一次,因为这次将进入功能开发程序阶段,前面两次已经做好了全部的前期工作 . ...

  8. 大华、海康SDK对接,使用javacv+流媒体服务实现实时播放和回放

    最近需要对接大华和海康摄像头,用SDK的方式,实现登录.OSD设置.预览.回放等功能,其他的功能都还好,实时预览和回放,里面涉及的东西太多了,对于刚接触摄像头开发相关的小伙伴来说,简直要崩溃,而且这方 ...

  9. 交换机crc错误是什么意思_OSN1800设备LDX对接S9706交换机,交换机持续有CRC错误告警...

    问题描述 组网:A交换机(10GLAN)----LDX--(波分链路)--LDX----(10GLAN)B交换机. OSN1800设备LDX对接S9706交换机,A侧交换机持续有CRC错误告警,B侧交 ...

最新文章

  1. 神经网络的演变与发展(Part 2)
  2. python xlwings下载_Python学习随笔:使用xlwings读取和操作Execl文件
  3. Django模型层(models.py)之多表操作
  4. linux输入法源,Manjaro Linux 添加源及输入法
  5. WEB-UI自动化测试实践
  6. kubernetes RC(Replication Controller)和RS(Replicaset)的作用和区别
  7. windows10操作系统开启以及关闭测试模式
  8. AI改变现代商业的25种方式
  9. android视频加速播放
  10. 【013】故宫博物院数字文物库-让文物随时可赏
  11. ps界面为啥突然变大了_PS教程丨皮肤美白修饰
  12. 1012循环神经网络 RNN 的实现
  13. Linkerd 2.10(Step by Step)—设置服务配置文件
  14. 项目管理高手常用的10种图表!
  15. PWM调光线性恒流LED恒流芯片X10S
  16. 用Android实现计算器
  17. ecshop做淘宝客
  18. android 图片凸出
  19. C语言实现的一个交互小程序(一)
  20. 双时格林函数演练总结

热门文章

  1. 敬业签苹果手机便签如何使用本机号码一键登录?
  2. torrent文件解析器
  3. IT老兵不死:柳传志隐退留下三大愿景
  4. SmartThings
  5. 2023对外经济贸易大学计算机考研信息汇总
  6. K11794 智力大冲浪
  7. 最近网友QQ联系我解决问题的郁闷
  8. 当实体类无法引用,有没有任何问题的时候,报红报错无法启动
  9. jenkins git can't work ERROR: Timeout after 10 minutes ERROR: Error fetching remote repo 'origin'
  10. front UAG in 10 minutes