-
大小: 11.55MB文件類(lèi)型: .zip金幣: 1下載: 0 次發(fā)布日期: 2023-06-13
- 語(yǔ)言: C#
- 標(biāo)簽:
資源簡(jiǎn)介
利用C#編寫(xiě)的簡(jiǎn)易交互式繪圖程序,實(shí)現(xiàn)了橡皮筋技術(shù)繪制橢圓、圓、矩形、正方形、點(diǎn)、直線、曲線、Bezier,填充、裁剪等功能,包含課設(shè)報(bào)告
代碼片段和文件信息
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.點(diǎn)
???????
????????string?functionInfo;????//用于程序底部顯示當(dāng)前操作信息
????????public?Point?startPoint?=?new?Point();??????//起點(diǎn)坐標(biāo)
????????public?Point?endPoint?=?new?Point();????????//終點(diǎn)坐標(biāo)
????????public?Point?sStartPoint?=?new?Point();?????//用于記錄“選擇”模式下第一次點(diǎn)擊左鍵時(shí)的坐標(biāo)(選擇框的左上角的坐標(biāo))
????????public?Point?sEndPoint?=?new?Point();???????//光標(biāo)此時(shí)的坐標(biāo)(選擇框右下角的坐標(biāo))
????????
????????public?Point?b1Point?=?new?Point();?????//用于記錄繪制Bezier曲線時(shí)需要繪制的4個(gè)點(diǎn)
????????public?Point?b2Point?=?new?Point();?????//用于記錄繪制Bezier曲線時(shí)需要繪制的4個(gè)點(diǎn)
????????public?Point?b3Point?=?new?Point();?????//用于記錄繪制Bezier曲線時(shí)需要繪制的4個(gè)點(diǎn)
????????public?Point?b4Point?=?new?Point();?????//用于記錄繪制Bezier曲線時(shí)需要繪制的4個(gè)點(diǎn)
????????public?Rectangle?selectBox;?????//選擇框
????????Pen?eraser?=?new?Pen(Color.White?20);??????//橡皮檫
???????
????????float?rotate;???????//旋轉(zhuǎn)角度
????????float?tensileX?=?1;?????//拉伸值
????????float?tensileY?=?1;?????//拉伸值
???????
????????int?penWidth;???????//畫(huà)筆粗細(xì)
????????int?bcount?=?0;?????//bezeer區(qū)間,鼠標(biāo)點(diǎn)擊次數(shù)
????????
????????Point?E;????????//選擇框起點(diǎn),用于裁剪
????????bool?saveState?=?false;?????//標(biāo)識(shí)是否已經(jīng)保存圖形,用于關(guān)閉程序時(shí)判斷
????????bool?cutting?=?false;???????//用于判斷是否裁剪
????????private?bool?mouseLeft?=?false;?????//表示左鍵按下?tīng)顟B(tài)
????????public?Color?color?=?Color.Black;???????//設(shè)置默認(rèn)顏色為黑色
????????public?Pen?pen?=?new?Pen(Color.Black?1);???????//設(shè)置默認(rèn)畫(huà)筆樣式
????????public?bool?ctrlDown;???????//判斷ctrl鍵是否按下
????????string?s_FileName?=?““;?????//初始文件名
????????public?Bitmap?bits;?????????//位圖,用于繪制點(diǎn)
????????public?Graphics?bitG;???????//繪圖對(duì)象,用于在位圖中繪制
????????
????????/*下面變量用于使用副本位圖進(jìn)行圖形編輯時(shí)*/
????????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
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????目錄???????????0??2017-01-20?18:26??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\
?????目錄???????????0??2017-01-20?18:26??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\
?????目錄???????????0??2017-01-15?23:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\.vs\
?????目錄???????????0??2017-01-15?23:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\.vs\KS_Graphics\
?????目錄???????????0??2017-01-15?23:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\.vs\KS_Graphics\v14\
?????文件???????45056??2017-01-16?13:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\.vs\KS_Graphics\v14\.suo
?????文件?????????161??2017-01-12?23:14??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\app.config
?????目錄???????????0??2017-01-15?23:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\bin\
?????目錄???????????0??2017-01-15?23:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\bin\Debug\
?????文件??????751104??2017-01-16?13:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\bin\Debug\KS_Graphics.exe
?????文件?????????161??2017-01-12?23:14??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\bin\Debug\KS_Graphics.exe.config
?????文件???????42496??2017-01-16?13:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\bin\Debug\KS_Graphics.pdb
?????文件???????22688??2017-01-16?13:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\bin\Debug\KS_Graphics.vshost.exe
?????文件?????????161??2017-01-12?23:14??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\bin\Debug\KS_Graphics.vshost.exe.config
?????文件?????????490??2015-10-30?15:19??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\bin\Debug\KS_Graphics.vshost.exe.manifest
?????目錄???????????0??2017-01-15?23:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\bin\Release\
?????文件??????750592??2017-01-15?19:49??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\bin\Release\KS_Graphics.exe
?????文件?????????161??2017-01-12?23:14??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\bin\Release\KS_Graphics.exe.config
?????文件???????40448??2017-01-15?19:49??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\bin\Release\KS_Graphics.pdb
?????文件???????27594??2017-01-15?20:23??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\Form1.cs
?????文件???????26654??2017-01-15?17:07??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\Form1.Designer.cs
?????文件????????6797??2017-01-15?17:07??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\Form1.resx
?????文件????????5389??2017-01-15?19:48??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\KS_Graphics.csproj
?????文件?????????990??2017-01-12?00:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\KS_Graphics.sln
?????文件???????38400??2017-01-15?19:55??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\KS_Graphics.v12.suo
?????目錄???????????0??2017-01-15?23:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\obj\
?????目錄???????????0??2017-01-15?23:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\obj\Debug\
?????文件?????????864??2017-01-15?20:01??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\obj\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件????????6777??2017-01-16?13:08??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????5462??2017-01-16?13:47??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\obj\Debug\KS_Graphics.csproj.FileListAbsolute.txt
?????文件????????1012??2017-01-15?20:10??計(jì)算機(jī)圖形學(xué)課設(shè)--簡(jiǎn)易交互式繪圖程序\KS_Graphics\obj\Debug\KS_Graphics.csproj.GenerateResource.Cache
............此處省略97個(gè)文件信息
評(píng)論
共有 條評(píng)論