想在Panel上用下面的Lx / ratio、Ly / ratio当做横纵坐标画点,用这个方法
grp.FillEllipse(Brushes.Red, pps [i].x, pps[i].y , 2, 2);
但是总是错误提示 无效参数
FillEllipse()方法中,后4位是整数,上面的pps [i].x,类型是整数吗
想请教一下大家有什么比较好的方法,把点画出来吗
List<point1> ps = new List<point1>();
for (int i = 0; i < table.Rows.Count; i++)//遍历每一行
{
for (int j = 0; j < table.Columns.Count; j++)//遍历列
{
x = Convert.ToDouble(table.Rows[i][0]);
y = Convert.ToDouble(table.Rows[i][1]);
double Lx = maxLatitude - x;
double Ly = y - minLongitude;
//MessageBox.Show(Ly + "");
point1 p = new point1();
p.x = (int)(Lx / ratio);
//MessageBox.Show(Ly/ratio+"");
p.y = (int)(Ly / ratio);
ps.Add(p);
//MessageBox.Show(ps+"");看不出来
}
}
//画图
int [] psx = ps.Select(p => p.x).ToArray();
int[] psy = ps.Select(p => p.y).ToArray();
point1[] pps = ps.ToArray();
Graphics grp = panel1.CreateGraphics();
Pen ppen = new Pen(Color.Red, 1);
for (int i = 0; i < psx.Length-1; i++)
{
grp.FillEllipse(Brushes.Red, pps [i].x, pps[i].y , 2, 2);
grp.Dispose();
}
}
public class point1
{
public int x { get; set; }
public int y { get; set; }
}
你这段代码问题有点多
谢谢,按照这个方法解决了