Windows Moblie 笔迹图板开发

admin 2019-7-22 155

这是应一个网友的问题而做的一个小程序,可以保存为位图,我觉得还是有一定的参考价值的,所以就把相关代码贴了出来 。

image.png

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace HandImage
{
    public partial class frmTest : Form
    {
        List<Points> HandTrack=new List<Points>();
        public Graphics pb_Graphics;
        Bitmap pb_BMP = new Bitmap(239,235);

        int index = 0;    //第几笔
        public frmTest()
        {
            InitializeComponent();
        }

        private void pnlBar_MouseMove(object sender, MouseEventArgs e)
        {
            HandTrack[index].PT.Add(new Point(e.X, e.Y));
            pnlBar.Refresh();
        }

        private void pnlBar_Paint(object sender, PaintEventArgs e)
        {
            pb_Graphics = Graphics.FromImage((System.Drawing.Image)pb_BMP);
            pb_Graphics.Clear(pnlBar.BackColor);
            foreach(Points item in  HandTrack)
            {
                pb_Graphics.DrawLines(new Pen(Color.Black), item.PT.ToArray());  
            }
            e.Graphics.DrawImage(pb_BMP, 0, 0);
            pb_Graphics.Dispose(); 
        }

        class Points
        {
            public List<Point> PT=new List<Point>();
        }

        private void btnClear_Click(object sender, EventArgs e)
        {
            index = 0;
            HandTrack = new List<Points>();
            pnlBar.Refresh();  
        }

        private void pnlBar_MouseUp(object sender, MouseEventArgs e)
        {
            index++;
        }

        private void pnlBar_MouseDown(object sender, MouseEventArgs e)
        {
            HandTrack.Add(new Points());
            HandTrack[index].PT.Add(new Point(e.X, e.Y));
            pnlBar.Refresh();  
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            dlgSaveFile.Filter = "位图(*.bmp)|*.bmp"; 
            if (dlgSaveFile.ShowDialog() == DialogResult.OK)
            {
                string strFile = dlgSaveFile.FileName;
                pb_BMP.Save(strFile, System.Drawing.Imaging.ImageFormat.Bmp); 
            }
        }
    }
}

少客联盟- 版权声明 1、本主题所有言论和图片纯属会员个人意见,与少客联盟立场无关。
2、本站所有主题由该帖子作者发表,该帖子作者admin少客联盟享有帖子相关版权。
3、少客联盟管理员和版主有权不事先通知发贴者而删除本文。
4、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者admin少客联盟的同意。
5、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
6、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
7、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
8、官方反馈邮箱:chinasuc@chinasuc.cn


上一篇:模型和视图分离原则
下一篇:2008微软MVP成功连任—从VB转型为Windows Embedded
Whatever is worth doing is worth doing well. juvenile hacker league
最新回复 (0)
    • 少客联盟
      2
        登录 注册 QQ登录(停用)
返回