如何画一个表盘样式的东西~~~

shanying_0 2008-10-25 09:58:07
说白了。就是要画一个圈,圈的上边有刻度,就是类似与手表盘样式的一个东西。如何来画呀
...全文
187 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
坏蛋小齐 2008-10-25
  • 打赏
  • 举报
回复
给你看看这个,我同事写的代码,我写了部分文档,可以让你有一个清楚的思路~~~
http://www.vckbase.com/document/viewdoc/?id=1727
killer_liqiao 2008-10-25
  • 打赏
  • 举报
回复
up
yijianxiangde100 2008-10-25
  • 打赏
  • 举报
回复
我的方法是:在那个初始化一个bitmap对象,然后就是把它加载到backgroundimage中。
Bitmap mybitmap = Image.FromFile("");
this.BackgroundImage=mybitmap;
这不就行了吗?
shanying_0 2008-10-25
  • 打赏
  • 举报
回复
 public void DrawBox(Bitmap bt,int x, int y)
{

for (int i = 0; i < 360; i += 10)
{
System.Drawing.Drawing2D.Matrix matrix = new System.Drawing.Drawing2D.Matrix();
matrix.RotateAt(i - 170, new PointF(x, y));
// Graphics.FromImage(bt).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
Graphics.FromImage(bt).Transform = matrix;
Graphics.FromImage(bt).DrawLine(Pens.Black, new Point(x+200, y), new Point(x+220, y));
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
Graphics.FromImage(bt).DrawString((350-i).ToString() + "°", new Font("黑体", 10), Brushes.Blue, new PointF(0 + 25, y), sf);
}
this.Invalidate();


}


我这个方法为什么不行呢
shanying_0 2008-10-25
  • 打赏
  • 举报
回复
还有点补充的是。我要在一个bitmap中来画。并不是在窗体上画的。用的是双缓冲的方法,
这点必须明确。。注意是在bitmap上画的
CraxyMouse 2008-10-25
  • 打赏
  • 举报
回复
CraxyMouse 2008-10-25
  • 打赏
  • 举报
回复
http://www.codeproject.com/KB/miscctrl/A_Gauge.aspx

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧