我在窗体中画线 然后把线经过的点用arrayList数组暂时保存然后经过简单筛选后把需要的点保存在数据库里
开始很顺利 但是到数据库里保存了大概400多条数据的时候 鼠标画线就开始不平滑了 开始出现大折线 鼠标就画不出很圆润的感觉了
是怎么回事呢?
开始很顺利 但是到数据库里保存了大概400多条数据的时候 鼠标画线就开始不平滑了 开始出现大折线 鼠标就画不出很圆润的感觉了
是怎么回事呢?
http://community.csdn.net/Expert/topic/5079/5079774.xml?temp=.5316584
g.DrawLine(new Pen(Color.Red), oldX, oldY, e.X, e.Y);
oldX = e.X;
oldY = e.Y;
p = new Point(e.X,e.Y);
arrayList.Add(p);
来画线鼠标经过的点都保存在arrayList里面 然后保存到数据库 但是后来随着保存到数据库的数据的增多 鼠标并不能画出很顺化的曲线了 全是折线(不是小锯齿)保存到 也就是说arrayList里面的数据变化很大
大家帮忙解决下啊
怎么回事呢
{ double d0;
double d1;
double d;
Drag = false; if(e.Button == MouseButtons.Left)
isMoving = false; string str="server=127.0.0.1;Integrated Security=SSPI;database=webdevelop";
SqlConnection conn=new SqlConnection(str);
for(int i=0;i<array.Count/2;i++)
{
p0=(Point)array[i*2];
array1.Add(p0);
}
array.Clear();
for(int j=1;j<array1.Count-1;j++)
{
p1=(Point)array1[j-1];
p2=(Point)array1[j];
p3=(Point)array1[j+1];
d0=System.Math.Sqrt((p3.Y-p1.Y)*(p3.Y-p1.Y)+(p1.X-p3.X)*(p1.X-p3.X));
d1=((p3.Y-p1.Y)*p2.X+(p1.X-p3.X)*p2.Y+p1.Y*p3.X-p3.Y*p1.X);
d=d1/d0;
if(d>1||d<-1)
{
}
else
{
array1.Remove(p2);
j--;
}
}
for(int k=0;k<array1.Count;k++)
{
p4=(Point)array1[k];
string sql="INSERT INTO ZUOBIAO (XX,YY) VALUES ("+p4.X+","+p4.Y+")";
SqlDataAdapter adapter=new SqlDataAdapter(sql,conn);
DataSet dataset=new DataSet();
adapter.Fill(dataset,"ZUOBIAO");
}
array1.Clear();
}
这是我的保存程序 帮我看看吧