資源簡(jiǎn)介
道格拉斯-普克,折線壓縮算法的c# 可視化 實(shí)現(xiàn)方式,可以很直觀地看到壓縮效果。案例地址 https://blog.csdn.net/shijie_nihao/article/details/98905329

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Threading.Tasks;
using?System.Windows.Forms;
namespace?道格拉斯壓縮法
{
????public?partial?class?Form1?:?Form
????{
????????#region?定義所需變量
????????Boolean?canClick?=?true;
????????Boolean?canMove?=?false;
????????Boolean?canDouC?=?false;
????????List?pointlist?=?new?List();
????????List?pointlist1?=?new?List();
????????List?pointlist2?=?new?List();
????????Graphics?g;
????????Color?c;
????????Pen?p;
????????#endregion
????????public?Form1()
????????{
????????????c?=?Color.FromArgb(25500);
????????????p?=?new?Pen(c);??????????
????????????InitializeComponent();
????????????g?=?this.pictureBox1.CreateGraphics();
????????????compressBtn.Enabled?=?false;
????????????clearBtn.Enabled?=?false;
????????}
????????private?void?Form1_Load(object?sender?EventArgs?e)
????????{
????????????
????????}
????????private?void?pictureBox1_MouseClick(object?sender?MouseEventArgs?e)
????????{
????????????????if(canClick==true)
????????????????{
????????????????????canMove?=?true;
????????????????????canDouC?=?true;
?????????????????p.Color?=?Color.FromArgb(255?0?0);??
?????????????????pointlist.Add(new?Point(e.Xe.Y));??????????????
?????????????????if?(pointlist.Count?>?1)
?????????????????????g.DrawLine(ppointlist[pointlist.Count?-?2]?pointlist[pointlist.Count?-?1]);??????????????????
??????????????????g.FillEllipse(Brushes.Blue?e.X?-?3?e.Y?-?3?6?6);??
????????????????}
????????}????
????????private?void?pictureBox1_MouseMove(object?sender?MouseEventArgs?e)
????????{
????????????if?(canMove?==?true)
????????????{
????????????????this.pictureBox1.Refresh();
????????????????for?(int?i?=?0;?i?????????????????????g.FillEllipse(Brushes.Blue?pointlist[i].X?-?3?pointlist[i].Y?-?3?6?6);
????????????????for?(int?i?=?1;?i?????????????????????g.DrawLine(p?pointlist[i?-?1]?pointlist[i]);
????????????????g.DrawLine(p?pointlist[pointlist.Count?-?1]?new?Point(e.X?e.Y));
????????????????g.FillEllipse(Brushes.Blue?e.X?-?3?e.Y?-?3?6?6);
????????????}
????????}
????????private?void?pictureBox1_MouseDoubleClick(object?sender?MouseEventArgs?e)
????????{
????????????if?(canDouC?==?true)
????????????{
????????????????pointlist.Add(new?Point(e.X?e.Y));??????????????
????????????????g.FillEllipse(Brushes.Blue?e.X?-?3?e.Y?-?3?6?6);
????????????????canClick?=?false;
????????????????canMove?=?false;
????????????????canDouC?=?false;
????????????????compressBtn.Enabled?=?true;
????????????????clearBtn.Enabled?=?false;
????????????????g.DrawLine(p?new?Point(0?pictureBox1.ClientRectangle.Height?/?2)?new?Point(pictureBox1.ClientRectangle.Width?pictureBox1.ClientRectangle.Height?/?2));
????????????}
????????}
????????private?void?compress
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-08-10?10:48??道格拉斯壓縮法\
?????目錄???????????0??2019-08-10?12:38??道格拉斯壓縮法\道格拉斯壓縮法\
?????文件?????????187??2016-09-21?19:54??道格拉斯壓縮法\道格拉斯壓縮法\App.config
?????文件????????5922??2019-08-10?10:57??道格拉斯壓縮法\道格拉斯壓縮法\Form1.Designer.cs
?????文件????????7611??2019-08-10?12:38??道格拉斯壓縮法\道格拉斯壓縮法\Form1.cs
?????文件????????5817??2019-08-10?10:57??道格拉斯壓縮法\道格拉斯壓縮法\Form1.resx
?????文件?????????533??2016-09-21?19:54??道格拉斯壓縮法\道格拉斯壓縮法\Program.cs
?????目錄???????????0??2018-07-24?20:35??道格拉斯壓縮法\道格拉斯壓縮法\Properties\
?????文件????????1362??2016-09-21?19:54??道格拉斯壓縮法\道格拉斯壓縮法\Properties\AssemblyInfo.cs
?????文件????????2894??2016-09-21?19:54??道格拉斯壓縮法\道格拉斯壓縮法\Properties\Resources.Designer.cs
?????文件????????5612??2016-09-21?19:54??道格拉斯壓縮法\道格拉斯壓縮法\Properties\Resources.resx
?????文件????????1108??2016-09-21?19:54??道格拉斯壓縮法\道格拉斯壓縮法\Properties\Settings.Designer.cs
?????文件?????????249??2016-09-21?19:54??道格拉斯壓縮法\道格拉斯壓縮法\Properties\Settings.settings
?????目錄???????????0??2018-07-24?20:35??道格拉斯壓縮法\道格拉斯壓縮法\bin\
?????目錄???????????0??2018-07-24?20:35??道格拉斯壓縮法\道格拉斯壓縮法\bin\Debug\
?????文件???????13824??2019-08-10?10:57??道格拉斯壓縮法\道格拉斯壓縮法\bin\Debug\道格拉斯壓縮法.exe
?????文件?????????187??2016-09-21?19:54??道格拉斯壓縮法\道格拉斯壓縮法\bin\Debug\道格拉斯壓縮法.exe.config
?????文件???????40448??2019-08-10?10:57??道格拉斯壓縮法\道格拉斯壓縮法\bin\Debug\道格拉斯壓縮法.pdb
?????文件???????23168??2019-08-10?12:36??道格拉斯壓縮法\道格拉斯壓縮法\bin\Debug\道格拉斯壓縮法.vshost.exe
?????文件?????????187??2016-09-21?19:54??道格拉斯壓縮法\道格拉斯壓縮法\bin\Debug\道格拉斯壓縮法.vshost.exe.config
?????文件?????????490??2013-06-18?20:28??道格拉斯壓縮法\道格拉斯壓縮法\bin\Debug\道格拉斯壓縮法.vshost.exe.manifest
?????目錄???????????0??2018-07-24?20:35??道格拉斯壓縮法\道格拉斯壓縮法\obj\
?????目錄???????????0??2019-08-10?10:57??道格拉斯壓縮法\道格拉斯壓縮法\obj\Debug\
?????文件?????????865??2019-08-10?10:50??道格拉斯壓縮法\道格拉斯壓縮法\obj\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件????????7091??2019-08-10?10:48??道格拉斯壓縮法\道格拉斯壓縮法\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????目錄???????????0??2019-08-10?12:39??道格拉斯壓縮法\道格拉斯壓縮法\obj\Debug\TempPE\
?????文件???????????0??2016-09-21?19:54??道格拉斯壓縮法\道格拉斯壓縮法\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
?????文件???????????0??2016-09-21?19:54??道格拉斯壓縮法\道格拉斯壓縮法\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
?????文件???????????0??2016-09-21?19:54??道格拉斯壓縮法\道格拉斯壓縮法\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
?????文件?????????180??2019-08-10?10:57??道格拉斯壓縮法\道格拉斯壓縮法\obj\Debug\道格拉斯壓縮法.Form1.resources
?????文件?????????180??2016-09-21?20:28??道格拉斯壓縮法\道格拉斯壓縮法\obj\Debug\道格拉斯壓縮法.Properties.Resources.resources
............此處省略9個(gè)文件信息
評(píng)論
共有 條評(píng)論