自定义指针问题
大虾们,我做了个仪表盘,中间的指针做成一个三角形和一个圆,但这个三角形在转动的时候有抖动的现象,很不美观,三角形由3个点组成,这3个点都会随着转动而改变,就是在40到60的时候会抖动,大侠们知道是怎么回事嘛?或者有木有其他办法做这个指针?--------------------编程问答--------------------
//b1x=68
int b1x = (int)(cer - 5 * Math.Cos(rad));
//b1y=62
int b1y = (int)(cer - 4 * Math.Sin(rad));
int b2x = (int)(cer + 4 * Math.Cos(rad));
int b2y = (int)(cer + 5 * Math.Sin(rad));
int dx = (int)(cer + (_PinLen) * Math.Cos(rad));
int dy = (int)(cer + (_PinLen) * Math.Sin(rad));
PointF point1 = new PointF(b2y, b1x);
PointF point2 = new PointF(b1y, b2x);
PointF point3 = new PointF(dx, dy);
PointF[] curvePoints = { point1, point2, point3 };
//总共6等分的sweepShot=0的时候就是仪表盘上的0
//然后依次加45就是第二个刻度数,总共270,正上方为135
if (sweepShot < 180)
{
g.FillPolygon(brushGreen, curvePoints);
}
else
{
g.FillPolygon(brushRed, curvePoints);
}
cer为直径的一半,就是圆心的坐标。_PinLen为指针长度。
int tmpWidth = 7;
int px = _diameter / 2 - tmpWidth;
float sweepShot = (float)(_changeValue / _maxValue * 270.0);
//总共6等分的sweepShot=0的时候就是仪表盘上的0
//然后依次加45就是第二个刻度数,总共270,正上方为135
if (sweepShot < 180)
{
gp.FillEllipse(new SolidBrush(Color.Green), new Rectangle(px, px, 2 * tmpWidth, 2 * tmpWidth));
}
else
{
gp.FillEllipse(new SolidBrush(Color.Red), new Rectangle(px, px, 2 * tmpWidth, 2 * tmpWidth));
}
画中间那个圆 --------------------编程问答-------------------- 我勒个去,看这标题进来的,再一看内容,这也能偷换概念? --------------------编程问答--------------------
哈哈,我也被忽悠了 --------------------编程问答-------------------- 对绘图的控件,doubblebuffer=true --------------------编程问答--------------------
你这是高档低速,所以抖动了,得降挡了 --------------------编程问答--------------------
请问大侠这句什么意思啊
能说清楚点嘛 在哪里定义doubblebuffer啊
要是可以分都给你 --------------------编程问答-------------------- 自己再给自己顶一下~ --------------------编程问答-------------------- 大神貌似多谢了b
补充:.NET技术 , C#