• 大小: 11.55MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-13
  • 语言: C#
  • 标签:

资源简介

利用C#编写的简易交互式绘图程序,实现了橡皮筋技术绘制椭圆、圆、矩形、正方形、点、直线、曲线、Bezier,填充、裁剪等功能,包含课设报告

资源截图

代码片段和文件信息

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.Drawing2D;
using System.Drawing.Imaging;

using System.Runtime.InteropServices;//
using System.Threading;
using System.Linq;

namespace KS_Graphics
{
    public partial class KS_Graphics : Form
    {

        [DllImport(“gdi32.dll“)]
        private static extern int SetPixel(IntPtr hdc int x1 int y1 int color);
        [DllImport(“gdi32.dll“)]
        private static extern uint GetPixel(IntPtr hdc int XPos int YPos);
        [DllImport(“gdi32.dll“)]
        private static extern uint GetPixel(IntPtr hdc Point p);

        


        int function = 0;       //用于判断按下什么键,0选择,1直线,2.曲线,3.矩形,4.椭圆,5.橡皮檫6.填充7.Bezier,8.点
       
        string functionInfo;    //用于程序底部显示当前操作信息

        public Point startPoint = new Point();      //起点坐标
        public Point endPoint = new Point();        //终点坐标
        public Point sStartPoint = new Point();     //用于记录“选择”模式下第一次点击左键时的坐标(选择框的左上角的坐标)
        public Point sEndPoint = new Point();       //光标此时的坐标(选择框右下角的坐标)
        
        public Point b1Point = new Point();     //用于记录绘制Bezier曲线时需要绘制的4个点
        public Point b2Point = new Point();     //用于记录绘制Bezier曲线时需要绘制的4个点
        public Point b3Point = new Point();     //用于记录绘制Bezier曲线时需要绘制的4个点
        public Point b4Point = new Point();     //用于记录绘制Bezier曲线时需要绘制的4个点


        public Rectangle selectBox;     //选择框
        Pen eraser = new Pen(Color.White 20);      //橡皮檫
       

        float rotate;       //旋转角度

        float tensileX = 1;     //拉伸值
        float tensileY = 1;     //拉伸值
       

        int penWidth;       //画笔粗细

        int bcount = 0;     //bezeer区间,鼠标点击次数
        

        Point E;        //选择框起点,用于裁剪

        bool saveState = false;     //标识是否已经保存图形,用于关闭程序时判断
        bool cutting = false;       //用于判断是否裁剪
        private bool mouseLeft = false;     //表示左键按下状态
        public Color color = Color.Black;       //设置默认颜色为黑色

        public Pen pen = new Pen(Color.Black 1);       //设置默认画笔样式


        public bool ctrlDown;       //判断ctrl键是否按下

        string s_FileName = ““;     //初始文件名
        public Bitmap bits;         //位图,用于绘制点
        public Graphics bitG;       //绘图对象,用于在位图中绘制
        
        /*下面变量用于使用副本位图进行图形编辑时*/
        public Point s1=new Point(00);     
        public Point s2=new Point(735408);
        public Bitmap bita;
        public Bitmap bitb;
        PixelFormat formata;



        private System.Drawing.Text.InstalledFontCollection objFont = new System.Drawing.Text.InstalledFontCollection();

        public KS_Graphics()
        {
            InitializeComponent();

            bits = new Bitmap(pictureBox1.Width pictureBox1.Height);   
            bitG = Graphics.FromImage(bits);       
            bitG.Clear(Color.White);       
            pi

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-01-20 18:26  计算机图形学课设--简易交互式绘图程序\
     目录           0  2017-01-20 18:26  计算机图形学课设--简易交互式绘图程序\KS_Graphics\
     目录           0  2017-01-15 23:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\.vs\
     目录           0  2017-01-15 23:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\.vs\KS_Graphics\
     目录           0  2017-01-15 23:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\.vs\KS_Graphics\v14\
     文件       45056  2017-01-16 13:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\.vs\KS_Graphics\v14\.suo
     文件         161  2017-01-12 23:14  计算机图形学课设--简易交互式绘图程序\KS_Graphics\app.config
     目录           0  2017-01-15 23:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\bin\
     目录           0  2017-01-15 23:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\bin\Debug\
     文件      751104  2017-01-16 13:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\bin\Debug\KS_Graphics.exe
     文件         161  2017-01-12 23:14  计算机图形学课设--简易交互式绘图程序\KS_Graphics\bin\Debug\KS_Graphics.exe.config
     文件       42496  2017-01-16 13:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\bin\Debug\KS_Graphics.pdb
     文件       22688  2017-01-16 13:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\bin\Debug\KS_Graphics.vshost.exe
     文件         161  2017-01-12 23:14  计算机图形学课设--简易交互式绘图程序\KS_Graphics\bin\Debug\KS_Graphics.vshost.exe.config
     文件         490  2015-10-30 15:19  计算机图形学课设--简易交互式绘图程序\KS_Graphics\bin\Debug\KS_Graphics.vshost.exe.manifest
     目录           0  2017-01-15 23:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\bin\Release\
     文件      750592  2017-01-15 19:49  计算机图形学课设--简易交互式绘图程序\KS_Graphics\bin\Release\KS_Graphics.exe
     文件         161  2017-01-12 23:14  计算机图形学课设--简易交互式绘图程序\KS_Graphics\bin\Release\KS_Graphics.exe.config
     文件       40448  2017-01-15 19:49  计算机图形学课设--简易交互式绘图程序\KS_Graphics\bin\Release\KS_Graphics.pdb
     文件       27594  2017-01-15 20:23  计算机图形学课设--简易交互式绘图程序\KS_Graphics\Form1.cs
     文件       26654  2017-01-15 17:07  计算机图形学课设--简易交互式绘图程序\KS_Graphics\Form1.Designer.cs
     文件        6797  2017-01-15 17:07  计算机图形学课设--简易交互式绘图程序\KS_Graphics\Form1.resx
     文件        5389  2017-01-15 19:48  计算机图形学课设--简易交互式绘图程序\KS_Graphics\KS_Graphics.csproj
     文件         990  2017-01-12 00:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\KS_Graphics.sln
     文件       38400  2017-01-15 19:55  计算机图形学课设--简易交互式绘图程序\KS_Graphics\KS_Graphics.v12.suo
     目录           0  2017-01-15 23:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\obj\
     目录           0  2017-01-15 23:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\obj\Debug\
     文件         864  2017-01-15 20:01  计算机图形学课设--简易交互式绘图程序\KS_Graphics\obj\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        6777  2017-01-16 13:08  计算机图形学课设--简易交互式绘图程序\KS_Graphics\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件        5462  2017-01-16 13:47  计算机图形学课设--简易交互式绘图程序\KS_Graphics\obj\Debug\KS_Graphics.csproj.FileListAbsolute.txt
     文件        1012  2017-01-15 20:10  计算机图形学课设--简易交互式绘图程序\KS_Graphics\obj\Debug\KS_Graphics.csproj.GenerateResource.Cache
............此处省略97个文件信息

评论

共有 条评论

相关资源