• 大小: 154KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: C#
  • 标签:

资源简介

c# GDI+ 实现类似画图板的效果,有画矩形、直线、椭圆,保存,新建,擦除,颜色变换,简单实用,值得保存

资源截图

代码片段和文件信息

//======================================================================
//
//        Copyright (C) 2008 stg609    
//        All rights reserved 
//       
//        命名空间:  绘图程序
//        CLR版本:   2.0.50727.42
//        创建年份:  2008
// 
//        created by stg609 at  03/29/2008 22:02:01
//        本人博客:http://stg609.cnblogs.com
//        由于水平有限,所写代码若有不足,欢迎大家到我博客交流
//        
//        注:转载请保留此信息
//
//======================================================================

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

namespace 绘图程序
{
    public partial class Draw : Form
    {
        public Draw()
        {
            InitializeComponent();
        }
        private DrawTools dt;
        private string sType;//绘图样式
        private string sFileName;//打开的文件名
        private bool bReSize = false;//是否改变画布大小
        private Size DefaultPicSize;//储存原始画布大小,用来新建文件时使用


        //pbimg"鼠标按下"事件处理方法
        private void pbImg_MouseDown(object sender MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                if (dt != null)
                {
                    dt.startDraw = true;//相当于所选工具被激活,可以开始绘图
                    dt.startPointF = new PointF(e.X e.Y);
                }
            }
        }

        //pbimg"鼠标移动"事件处理方法
        private void pbImg_MouseMove(object sender MouseEventArgs e)
        {
            Thread.Sleep(6);//减少cpu占用率
            mousePostion.Text = e.Location.ToString();
            if (dt.startDraw)
            {
                switch (sType)
                {
                    case “Dot“: dt.DrawDot(e); break;
                    case “Eraser“: dt.Eraser(e); break;
                    default: dt.Draw(e sType); break;

                }
            }
        }

        //pbimg"鼠标松开"事件处理方法
        private void pbImg_MouseUp(object sender MouseEventArgs e)
        {
            if (dt != null)
            {
                dt.EndDraw();
            }
        }

        //"窗体加载"事件处理方法
        private void Form1_Load(object sender EventArgs e)
        {
            Setstyle(Controlstyles.OptimizedDoubleBuffer | Controlstyles.AllPaintingInWmPaint | Controlstyles.UserPaint true);
            this.Updatestyles();
            Bitmap bmp = new Bitmap(pbImg.Width pbImg.Height);
            Graphics g = Graphics.FromImage(bmp);
            g.FillRectangle(new SolidBrush(pbImg.BackColor) new Rectangle(0 0 pbImg.Width pbImg.Height));
            g.Dispose();
            dt = new DrawTools(this.pbImg.CreateGraphics() colorHatch1.HatchColor bmp);//实例化工具类
            DefaultPicSize = pbImg.Size;

        }

        //"打开文件"事件处理方法
        private void openPic_Click(object sender EventArgs e)
        {

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-12-20 21:49  Draw\
     目录           0  2017-12-20 21:50  Draw\绘图程序\
     目录           0  2017-12-20 21:50  Draw\绘图程序\Backup\
     目录           0  2017-12-20 21:50  Draw\绘图程序\Backup\绘图程序\
     文件         925  2008-03-26 15:48  Draw\绘图程序\Backup\绘图程序.sln
     文件       25088  2008-03-29 22:03  Draw\绘图程序\Backup\绘图程序.v12.suo
     目录           0  2017-12-20 21:50  Draw\绘图程序\Backup\绘图程序\bin\
     目录           0  2017-12-20 21:50  Draw\绘图程序\Backup\绘图程序\bin\Debug\
     目录           0  2017-12-20 21:50  Draw\绘图程序\Backup\绘图程序\bin\Debug\img\
     文件          82  2008-03-11 16:23  Draw\绘图程序\Backup\绘图程序\bin\Debug\img\Circle.gif
     文件         714  2008-03-20 15:04  Draw\绘图程序\Backup\绘图程序\bin\Debug\img\eraser.png
     文件         851  2008-03-29 19:52  Draw\绘图程序\Backup\绘图程序\bin\Debug\img\FillCircle.GIF
     文件         851  2008-03-29 19:50  Draw\绘图程序\Backup\绘图程序\bin\Debug\img\Fillrect.GIF
     文件          73  2008-03-11 16:17  Draw\绘图程序\Backup\绘图程序\bin\Debug\img\line.gif
     文件         766  2008-03-20 22:05  Draw\绘图程序\Backup\绘图程序\bin\Debug\img\pb.cur
     文件         311  2008-03-18 20:03  Draw\绘图程序\Backup\绘图程序\bin\Debug\img\Pencil.gif
     文件          81  2008-03-11 16:20  Draw\绘图程序\Backup\绘图程序\bin\Debug\img\rect.gif
     文件       11595  2008-03-30 01:10  Draw\绘图程序\Backup\绘图程序\Draw.cs
     文件       20408  2008-03-29 22:09  Draw\绘图程序\Backup\绘图程序\Draw.Designer.cs
     文件        8225  2008-03-29 22:09  Draw\绘图程序\Backup\绘图程序\Draw.resx
     文件        8797  2008-03-30 00:10  Draw\绘图程序\Backup\绘图程序\DrawTools.cs
     文件         470  2008-03-29 22:05  Draw\绘图程序\Backup\绘图程序\Program.cs
     目录           0  2017-12-20 21:50  Draw\绘图程序\Backup\绘图程序\Properties\
     文件        1172  2008-03-26 15:48  Draw\绘图程序\Backup\绘图程序\Properties\AssemblyInfo.cs
     文件        4822  2008-03-29 19:53  Draw\绘图程序\Backup\绘图程序\Properties\Resources.Designer.cs
     文件        7908  2008-03-29 19:53  Draw\绘图程序\Backup\绘图程序\Properties\Resources.resx
     文件        1095  2008-03-26 15:48  Draw\绘图程序\Backup\绘图程序\Properties\Settings.Designer.cs
     文件         249  2008-03-26 15:48  Draw\绘图程序\Backup\绘图程序\Properties\Settings.settings
     文件        4219  2008-03-29 22:05  Draw\绘图程序\Backup\绘图程序\绘图程序.csproj
     文件         168  2008-03-29 19:47  Draw\绘图程序\Backup\绘图程序\绘图程序.csproj.user
     文件       46308  2017-12-20 21:50  Draw\绘图程序\UpgradeLog.htm
............此处省略53个文件信息

评论

共有 条评论

相关资源