大家帮忙啊!这周五做不出来,老板就把我开了! 初试、面试、复试 好不容易找个这么个差事啊!郁闷中。。。。。。
刚几天就给我个下马威,兄弟姐妹们帮忙啊!
这个问题是这样的,有一仪表通过串口和计算机项连接,仪表取数已经搞定,要求在程序界面上显示一个仪表盘,根据仪表数值的不同,仪表的指针随之变化位置,即旋转一定的角度,那为大虾做过啊!麻烦给指点一下,先谢谢了!分不够可再加,我今天晚上睡不了了,在线等。。。。。。
问题点数:100、回复次数:55Top
1 楼laochai2000(古木流)回复于 2005-07-13 22:02:47 得分 2
不是已经可以取数了吗?用C#的绘图函数中画直线的方法,把数值转化成角度就行了吧。Top
2 楼YYKXQ(异域狂想曲)回复于 2005-07-13 22:13:03 得分 0
取数都会做了,就是用Graphics对象的DrawLine()方法,画直线就可以了,至于弧度,就根据你得值去计算了Top
3 楼gslijp(云中箭)回复于 2005-07-13 22:19:52 得分 0
谢谢各位兄第帮顶,我想做的跟模拟盘一样。。。。。Top
4 楼strgold()回复于 2005-07-13 22:21:41 得分 0
很简单。
角度=仪表当前读数/仪表最大值*360
根据角度和起始点坐标、指针长度可以计算执政末端点坐标。
DrawLine()。。。。Top
5 楼syfsz(黄金分割点)回复于 2005-07-13 22:26:56 得分 0
只能自己画了,先实现个简单的,再美化了,同情ingTop
6 楼nonocast(如果没有如果)回复于 2005-07-13 22:28:30 得分 0
画就是了,没啥Top
7 楼laochai2000(古木流)回复于 2005-07-13 22:36:15 得分 0
BT做法,给真仪表照个像,用照片做背景再画指针,呵呵,绝对一模一样!Top
8 楼zhilunchen(他山居士)回复于 2005-07-13 22:41:57 得分 0
好注意啊,就是画的指针要和真的一样有点麻烦.Top
9 楼gslijp(云中箭)回复于 2005-07-13 22:42:11 得分 0
谢谢大家,我也和老柴的想法一样,目前正在努力中,欢迎大家帮忙。。。Top
10 楼wzgme(一风一云)回复于 2005-07-13 22:53:37 得分 0
有第3方的工控仪表插件吧。Top
11 楼gslijp(云中箭)回复于 2005-07-13 22:59:18 得分 0
wzgme(一风一云)那里有这样的控件啊!Top
12 楼dbspro(冷锋)回复于 2005-07-13 23:13:55 得分 0
楼主:strgold() 的是正解,你先这么做出来,然后再美化一下应该没问题的!Top
13 楼gslijp(云中箭)回复于 2005-07-13 23:22:20 得分 0
大家多讨论啊!分不够继续加。。。。Top
14 楼zhongwanli(㊣【为了老婆,二次重构____然后升★★】㊣)回复于 2005-07-13 23:30:11 得分 0
MARK
Top
15 楼gslijp(云中箭)回复于 2005-07-13 23:47:31 得分 0
自己顶Top
16 楼ncmj(Whale)回复于 2005-07-13 23:57:37 得分 0
恩,简单做法,就是绘制仪表盘然后加一个图层绘制指针就好。不过考虑到美观的问题的话,建议使用DirectDraw,可以对图片进行2维旋转,到时候设定一下就好~~(需要准备2张图片,一张表盘,一张指针。)Top
17 楼ncmj(Whale)回复于 2005-07-13 23:58:20 得分 0
http://download.pchome.net/industry/machine/12679.htmlTop
18 楼ncmj(Whale)回复于 2005-07-14 00:01:20 得分 2
http://download.pchome.net/development/components/876.html
圆盘仪表控件 是一套基于 ActiveX 技术,面向仿真、工控、科学、仪表等领域的通用组件包。产品对于构件逼真的人机界面,处理实时数据非常有用,当然它们也可用于通用软件当中。它基于 Windows 平台先进的ActiveX组件技术,几乎可以在任何地方使用:无论是在浏览器的 Web 页面上,在 Excel97 和 Word97 的文档中,还是在其他众多的应用软件当中都可以将其嵌入。Windows 平台上的众多开发工具都已经支持这种技术,例如:VC、VB、Delphi、PB、C++Builder 等等。
这个应该可以帮到你。Top
19 楼Sunmast(速马@Redmond, WA)回复于 2005-07-14 00:15:31 得分 0
就是在一个背景图片上画一条线段嘛...Top
20 楼zeusvenus()回复于 2005-07-14 00:31:41 得分 0
好好看看.NET中的GDI+就行了。Top
21 楼gslijp(云中箭)回复于 2005-07-14 01:07:30 得分 0
谢谢大家捧场 还在积极寻找办法Top
22 楼ncmj(Whale)回复于 2005-07-14 01:13:50 得分 0
你把你这个月工资给我一半,我今晚通宵给你写一个,什么语言、平台都可以,字符方式都无关~~Top
23 楼KissXYL(挚爱凝忆)回复于 2005-07-14 01:48:42 得分 0
回复人: ncmj(Whale) ( ) 信誉:100 2005-07-14 01:13:00 得分: 0
你把你这个月工资给我一半,我今晚通宵给你写一个,什么语言、平台都可以,字符方式都无关~~
那就用Logo写吧。或者QBasic也可以Top
24 楼lordych()回复于 2005-07-14 02:50:28 得分 0
我晕倒,我不会和窜口通信,但我会画图,你怎么我和相反啊Top
25 楼lordych()回复于 2005-07-14 02:52:03 得分 5
你要是真的搞不定,你把任务说详细点我给你写。Top
26 楼lordych()回复于 2005-07-14 02:55:00 得分 0
To:ncmj(Whale),GDI+同样可以做坐标系旋转。Top
27 楼luyesql(叶子绿了)回复于 2005-07-14 07:32:07 得分 0
upTop
28 楼WYZSC(007,重在参乎,说错问错勿怪。)回复于 2005-07-14 08:34:37 得分 0
请美工画个背景图,程序员只要处理指针和数字显示,不就简单了。Top
29 楼yang20052008(Apex)回复于 2005-07-14 08:38:19 得分 0
dingTop
30 楼jinbingg(bing)回复于 2005-07-14 08:48:32 得分 0
背景图然后画线Top
31 楼light999(普照)回复于 2005-07-14 08:54:46 得分 0
背景图 你可以用数码相机照下来用photo 处理一下。程序动态画表针就可以了。Top
32 楼julong88((无锋之刃))回复于 2005-07-14 08:56:38 得分 0
不是那么好弄的Top
33 楼free000(无剑)回复于 2005-07-14 08:59:01 得分 50
撞到我的枪口上了,不拿分都不好意思了,
http://blog.csdn.net/free000Top
34 楼free000(无剑)回复于 2005-07-14 09:02:09 得分 0
那个是个例子,我有新的比较完善的代码,可以给你Top
35 楼silverseven7(就差100 分就升级,多给我点吧)回复于 2005-07-14 09:06:39 得分 4
http://blog.csdn.net/free000
http://blog.csdn.net/free000
http://blog.csdn.net/free000
http://blog.csdn.net/free000
Top
36 楼wh8254(租个老婆结婚~~)回复于 2005-07-14 09:08:41 得分 0
顶起来!Top
37 楼maomaoli(一树梨花)回复于 2005-07-14 09:14:57 得分 0
markTop
38 楼gslijp(云中箭)回复于 2005-07-14 09:35:59 得分 0
free000(free000) 大虾还在吗?Top
39 楼free000(无剑)回复于 2005-07-14 09:45:51 得分 0
那个例子怎么样,可以满足你吧!
以后不用叫我大虾,这年头,大虾难当:)Top
40 楼gslijp(云中箭)回复于 2005-07-14 09:51:32 得分 0
哈哈 你还在啊 真是谢谢你了 你的联系方式Top
41 楼gslijp(云中箭)回复于 2005-07-14 09:53:47 得分 0
挺好的 可以用上 一个程序用了三个硬件 内容也比较复杂 界面要求也很高 这年都混饭难啊!Top
42 楼free000(无剑)回复于 2005-07-14 09:53:50 得分 0
MSN:mygoodnews100@hotmail.comTop
43 楼qing205(君不见)回复于 2005-07-14 11:48:04 得分 0
http://www.mndsoft.com/blog/
这里有仪表得源代码 我下了一个 你上去找找!Top
44 楼netfloator(Adam Lee)回复于 2005-07-14 12:36:32 得分 2
背景用仪表的图片,指针用线画,一样很美观。
划线的关键在于两个端点的坐标,其中一个是固定的(圆心),另一个可以这样算。假设半径为r,圆心(x1,y1),旋转角度为A,则另一端点为(x2,y2)(按照c#默认的坐标系)。
x2=x1+r*cosA
y2=y1+r*sinA
其中,旋转角度A是相对于x轴,向y轴转动的。
Top
45 楼dafeifei(大飞飞)回复于 2005-07-14 12:49:17 得分 0
什么公司啊?Top
46 楼boyxia(>>雪饮狂刀 [抵制日货]<<)回复于 2005-07-14 12:49:40 得分 0
boyxia@163.net给我发邮件Top
47 楼boyxia(>>雪饮狂刀 [抵制日货]<<)回复于 2005-07-14 13:15:20 得分 35
手头上有个工控仪表控件,一个网友发给我的,他自己写的,免费,没源码
说明:
以下是工控仪表中的控制仪表工作的字段的说明:
public string ShowType = " V" ; // 表头说明例如“电流表”,“速成度计”等private double _value = 0;
public int ShortScaleWidth = 2 ;//短刻度的宽度
public int ShortScaleLength = 8 ;//短刻度的长度
public System.Drawing.Color ShortScaleColor = Color.White ;//短鹿度的Color
public int LengthScaleWidth = 3 ;//长刻度的宽度
public int LengthScaleLength = 12 ;//长刻度的宽度
public System.Drawing.Color LengthScaleColor = Color.Red ;
public string NumberFontName = "Times New Roman" ;
public int NumberFontSize = 8 ;
public string ShowTypeFontName = "Times New Roman" ;
public int ShowTypeFontSize = 18 ;
public double MinValue = 0 ;//表盘的最小值
public double MaxValue = 120 ;//表盘的最大值
最关键的是:
InputValue 属性,可通过它来控制指针的位置。它可READ AND WRITE 。
楼主需要的话给我发邮件,其他人勿扰,boyxia@163.netTop
48 楼gslijp(云中箭)回复于 2005-07-14 15:49:20 得分 0
看到这么多热心的朋友支持我 我很高兴 原天下好心人一生平安 谢谢大家!我的邮箱是ljp@cnnc.com.cn 欢迎大家参与讨论 再次谢谢大家!Top
49 楼Aden(Aden)回复于 2005-07-14 16:03:28 得分 0
关注Top
50 楼50277(柳影随风)回复于 2005-07-14 16:17:36 得分 0
跟我做过的一摸一样!呵呵!
我是在WEB里做的Top
51 楼xiaojia1982(大头菜)回复于 2005-07-14 16:52:51 得分 0
关注Top
52 楼gslijp(云中箭)回复于 2005-07-14 17:36:49 得分 0
自己再顶一下 晚上22点揭贴Top
53 楼tkingxp(king)回复于 2005-07-14 17:43:52 得分 0
你以前没有做过"时钟"吗,一样的吗,数字都有了,这个不难的了,呵呵Top
54 楼gslijp(云中箭)回复于 2005-07-14 23:40:52 得分 0
非常高兴能够借助这个平台和大家一块讨论这个问题,由这个问题我感觉到人与人之间无私帮助的幸福和快乐,在这个论坛里,有乐于出主意帮助的“laochai2000(老柴)”、strgold()、 netfloator(Adam Lee) 大虾, 急人所所急的lordych()小弟,帮我提供线索的silverseven7() 、qing205(君不见)、ncmj(Whale)高手,特别要感谢free000(free000)、boyxia(>>无天刀绝 [抵制日货]<<) 两位热心大内高手,他们两位对我的帮助可以说是一场及时雨,但由于本贴只能给100分,故高分给于他们,但是要感谢帮我顶的各位弟兄们,再次谢谢!Top
55 楼quanyi(长生天)回复于 2005-09-06 17:36:29 得分 0
学习Top




