资源简介
道格拉斯-普克,折线压缩算法的c# 可视化 实现方式,可以很直观地看到压缩效果。案例地址 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 < pointlist.Count; i++)
g.FillEllipse(Brushes.Blue pointlist[i].X - 3 pointlist[i].Y - 3 6 6);
for (int i = 1; i < pointlist.Count; 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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 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个文件信息
- 上一篇:C#开发IE插件(ActiveX)
- 下一篇:利用C#实现卷积运算
评论
共有 条评论