实现效果 签名功能的显示界面如下图: 该效果主要实现如下功能: 1、提供画布,设计画笔类,实现画笔签名 2、点击重签按钮清空画布 3、点击确认按钮保存画布位图到指定的格式(提供三种
实现效果签名功能的显示界面如下图: 该效果主要实现如下功能: 1、提供画布,设计画笔类,实现画笔签名 2、点击重签按钮清空画布 3、点击确认按钮保存画布位图到指定的格式(提供三种保存类型,文件,二进制数据和BASE64编码) 开发运行环境操作系统: Windows Server 2019 DataCenter 手写触屏设备:Microsoft Surface Pro 9 .net版本: .netFramework4.0 或以上 开发工具:VS2019 C# 设计实现界面布局主要在WinForm上放置如下控件,Name 为 canvasPanel 的 System.Windows.Forms.Panel控件,一些Label控件、radioButton控件和两个功能按钮Button控件,如下图: 初始化Form1 初始化如下变量:
实例化变量的过程中 new Bitmap ,则产生的默认格式为 System.Drawing.Imaging.ImageFormat.MemoryBmp 格式,这会产生一个问题,保存的位图是全黑色。因此一个解决的思路是先临时创建一个白色背景的JPEG图片,图片的大小取决于panel控件的宽度和高度,然后再将画布的图像 bmpData 变量,实例化创建引用这个临时图片的路径。 示例代码如下:
画笔绘图Graphics canvas 为canvasPanel控件创建的画布,首先定义实现一个画笔类,代码如下:
画笔类主要包括 :
实现绘图,主要是通过画笔类,在canvasPanel 的鼠标按下、鼠标移动、和鼠标抬起事件定义相关操作。
示例代码如下:
清空画布可通过点击“重签” 按钮,清空画布,实现如初始化功能,代码如下:
导出位图数据绘制完成,我们就需要将 bmpData 位图变量数据导出我们想要的格式,为了便于演示,我们设置了一组 radioButton 选项,可以导出三种类型的形式数据,如下表:
假设“确定”按钮 Name 为 “Button13”,并假设输出到D盘根目录下,示例代码如下:
小结对于 new Bitmap 创建的位图,我们还可以使用 Png 格式,以防止“黑图”的出现,我们在应用中可以灵活掌握,如下代码:
保存的数据,显示在画布上可采取如下方法: 1、文件型
2、二进制型
3、base64型
|
2022-05-13
2022-03-10
2023-12-24
2021-07-02
2021-08-14