{
//g.DrawLine(pen, new PointF(0 + Bianhoudu1+ MoveX, 0 + i * Bianjianju1+ MoveY), new PointF(Kuaichang1 - Bianhoudu1 + MoveX, 0 + i * Bianjianju1 + MoveY));
//上面画了1条线,应该再画一条厚度线;
//g.DrawLine(pen, new PointF(0 + Bianhoudu1 + MoveX, 0 + i * Bianjianju1 + Bianhoudu1 + MoveY), new PointF(Kuaichang1 - Bianhoudu1 + MoveX, 0 + i * Bianjianju1 + Bianhoudu1 + MoveY));
//这里画了第二条线
//下面改为矩形的画法
g.DrawRectangle(pen, 0 + Bianhoudu1 + MoveX, 0 + i * Bianjianju1 + MoveY, Kuaichang1 - Bianhoudu1*2, Bianhoudu1);
}
画两条线中间间隔float类型Bianhoudu1,画出很多,结果宽度误差也是很大。按矩形的方式画,也是这样。
Bianhoudu1不要设定为float,要设定为int型。
你这很明显误差就是1个像素
设定成int就没有误差了
虽然 Graphics 支持浮点数的刻度,但光栅还是只认整数的,何况 DirectX 把显卡包装的连光栅都没有了