基于浮云绘图SDK 快速开发车站状态图详细过程
作者:互联网
火车进出车站时,需要实时监控轨道、道岔、信号机等设备的状态,涉及设备数千个,如何实时准确、形象直观的展示所有设备状态,是一个不小的难题。
抽象的图形化的车站站场图,是业内成熟的方案。但是,数千个图形的绘制和状态更新,要么性能(刷新慢)不够好,要么开发或施工时间长。如何加快开发速度,减少实施时间,并且高效稳定的运行?浮云绘图给出了简约而不简单的解决方案。
1. 浮云绘图快捷,极大缩短施工时间
现有浮云绘图,基于VC++开发核心绘图,性能好;绘制战场图工具支持多选、分组、对齐、分布,支持撤销、重做、剪切、复制;支持网格对齐吸附、批量设置参数;支持滚动、缩放等等,极大提高绘图效率。
2. 浮云绘图开发迅速,性能好运行稳定
集成浮云绘图组件FYDC.dll和接口函数申明,可以快速创建组件、加载图元、查找图元、修改图元线条、颜色、区域、字体等属性。
您只需要通过图元的Title或Name与你的业务对象关联,就可以实时同步更新图形展示状态效果。最少可以只需编码30分钟(图元与业务对象关联,根据业务对象状态实时更新图元属性),就能实现图形化的车站实时状态图。
3. 浮云绘图SDK开发包,支持友好
浮云绘图提供齐备的SDK,包括绘图编辑器、DLL和LIB、VC版和C#版 Demo工程源码、数据文件说明、使用SDK开发详细步骤介绍等。
浮云绘图SDK2.0开发包 快速开发各类状态、拓扑图、电子图纸等源码
VC++接口函数如下所示:
extern "C" __declspec(dllimport) CShapeCanvas * NewFYDC();
extern "C" __declspec(dllimport) void CreateFYDC(CShapeCanvas * canvas, HWND hParentWnd, int x, int y, int w, int h);
extern "C" __declspec(dllimport) void LoadShapes(CShapeCanvas * canvas, const char* fileName);
extern "C" __declspec(dllimport) void DeleteFYDC(CShapeCanvas * canvas);
extern "C" __declspec(dllimport) void SetCanvasRect(CShapeCanvas * canvas, int left, int top, int right, int bottom);
extern "C" __declspec(dllimport) void GetCanvasRect(CShapeCanvas* canvas, int& left, int& top, int& right, int& bottom);
extern "C" __declspec(dllimport) int GetShapeCount(CShapeCanvas * canvas);
extern "C" __declspec(dllimport) CShapeElement* GetShape(CShapeCanvas* canvas, const char* type, const char* name);
extern "C" __declspec(dllimport) CShapeElement* GetShapeAt(CShapeCanvas* canvas, int index);
extern "C" __declspec(dllimport) void GetShapeType(CShapeElement* shape, wchar_t* type);
extern "C" __declspec(dllimport) void GetShapeTitle(CShapeElement* shape, wchar_t* title);
extern "C" __declspec(dllimport) void SetShapeTitle(CShapeCanvas* canvas, CShapeElement* shape, const char* title);
extern "C" __declspec(dllimport) void GetShapeName(CShapeElement* shape, wchar_t* name);
extern "C" __declspec(dllimport) void SetShapeName(CShapeCanvas* canvas, CShapeElement* shape, const char* name);
extern "C" __declspec(dllimport) int GetLineColor(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetLineStyle(CShapeCanvas* canvas, CShapeElement* shape, int style);
extern "C" __declspec(dllimport) int GetLineStyle(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetLineEndMode(CShapeCanvas* canvas, CShapeElement* shape, int mode);
extern "C" __declspec(dllimport) int GetLineEndMode(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetLineWidth(CShapeCanvas* canvas, CShapeElement* shape, int width);
extern "C" __declspec(dllimport) int GetLineWidth(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetFillColor(CShapeCanvas* canvas, CShapeElement* shape, int color);
extern "C" __declspec(dllimport) int GetFillColor(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetIsFill(CShapeCanvas* canvas, CShapeElement* shape, BOOL isFill);
extern "C" __declspec(dllimport) int GetIsFill(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetFontColor(CShapeCanvas* canvas, CShapeElement* shape, int color);
extern "C" __declspec(dllimport) int GetFontColor(CShapeElement* shape);
extern "C" __declspec(dllimport) void SetFontType(CShapeCanvas* canvas, CShapeElement* shape, const char* fntype);
shape, int status);
extern "C" __declspec(dllimport) void SetZoom(CShapeCanvas* canvas, double zoom);
extern "C" __declspec(dllimport) double GetZoom(CShapeCanvas* canvas);
extern "C" __declspec(dllimport) void SetZoomFactor(CShapeCanvas* canvas, double factor);
extern "C" __declspec(dllimport) double GetZoomFactor(CShapeCanvas* canvas);
extern "C" __declspec(dllimport) BOOL SaveToPicture(CShapeCanvas* canvas, const char* fileName);
4. 浮云绘图,支持定制扩展
浮云绘图是一套功能齐备、底层扎实,扩展性好的绘图框架项目。浮云绘图2.0版SDK,已经可以满足诸多的绘图项目,比如网络状态图、采集设备状态图、人物关系拓扑图、集团组织机构图、流程图等。
如果甲方还有更个性化的绘图基础图元(比如多点线、异形图、电子元器件等),更专业化的场景(如电路原理图、建筑设计、模拟仿真等),可以联系我们定制开发,我们一起把绘图领域做的更好,让信息化魅力更足,让客户更满意。
标签:__,CShapeCanvas,int,dllimport,declspec,绘图,extern,状态图,SDK 来源: https://www.cnblogs.com/fydraw/p/16294837.html