浮云繪圖SDK2.0 開發(fā)手冊 快速定制CAD繪圖模塊,支持狀態(tài)圖、拓?fù)鋱D、電路圖等開發(fā)
1. 浮云繪圖簡介
浮云繪圖是一款功能實(shí)用、操作簡便,提供完整的SDK,支持二次開發(fā)的繪圖項目。
浮云繪圖通過線段、矩形、圓形、文字、圖片等基礎(chǔ)圖形的繪制組合,可以滿足諸多繪圖場景的需要。



浮云繪圖對外提供API接口,支持第三方工程控制圖形的Line線條(顏色、寬度、虛實(shí)、端點(diǎn))、Area區(qū)域(顏色、是否填充)、Text文字(內(nèi)容、字體類型、字體大小、字體顏色)、Image圖片(狀態(tài)列表和狀態(tài)值),并通過圖形的Title、Name屬性與業(yè)務(wù)對象關(guān)聯(lián),從而實(shí)時更新圖形的展示效果。
2. 浮云繪圖SDK開發(fā)包
浮云繪圖提供完備的SDK,讓繪圖二次開發(fā)非常簡單。包括:
A 繪圖編輯器.exe
B 繪圖組件dll和lib
C 繪圖API Demo源碼
D 繪圖數(shù)據(jù)文件格式說明
2.1 浮云繪圖二次開發(fā)流程
1使用浮云繪圖編輯器.exe繪制圖形 --> 2保存繪圖數(shù)據(jù)文件 --> 3 創(chuàng)建第三方C#/VC等工程,集成FYDC.dll和API接口聲明 --> 4調(diào)用接口函數(shù)讀寫繪圖數(shù)據(jù),顯示圖形、更新圖形屬性,關(guān)聯(lián)業(yè)務(wù)對象。
2.2 浮云繪圖編輯器.exe
浮云繪圖編輯是一款功能強(qiáng)大的繪圖編輯器,便捷實(shí)用。
A 支持線、方塊、圓、文字、圖片等基礎(chǔ)圖形繪制
B 支持撤銷Ctrl+Z、重做Ctrl+D、剪切Ctrl+X、復(fù)制Ctrl+C、粘貼Ctrl+V等
C 支持對齊(左對齊、居中對齊、右對齊、頂部對齊...)、分布(水平、垂直)等
D 支持分層(置于頂層、上移一層、下移一層、置于底層)、分組(組合、打散)等
E 單獨(dú)設(shè)置圖形屬性、批量設(shè)置屬性
F 畫布背景色、網(wǎng)格(線條模式、點(diǎn)集模式)、自動吸附對齊等
G 支持(鼠標(biāo)中鍵)縮放(縮放比例、縮放因子)、滾動等
H 繪圖數(shù)據(jù)文件打開、加載、保存等

2.3 數(shù)據(jù)存儲格式
浮云繪圖采用VC++實(shí)現(xiàn),性能高、穩(wěn)定性好,封裝成繪圖組件FYDC.dll。
?繪圖數(shù)據(jù)文件格式說明:
;;畫布:畫布寬,畫布高,背景顏色?
paper:0,0,16777215;?
;;矩形圖元:左,上,右,下,標(biāo)題,名稱,組id,線條顏色,線寬,虛實(shí),是否填充,填充色,是否顯示文本,文本內(nèi)容,文本字體類型,字號,字體顏色
rectangle:226.000000,105.000000,374.000000,170.000000,標(biāo)網(wǎng)站題Rect,矩形01,0,16711680,1,0,1,16777215,1,矩形Text,微軟雅黑,10,16711680;?
;;橢圓圖元:左,上,右,下,標(biāo)題,名稱,組id,線條顏色,線寬,虛實(shí),是否填充,填充色,是否顯示文本,文本內(nèi)容,文本字體類型,字號,字體顏色
ellipse:502.000000,114.000000,663.000000,210.000000,e,橢圓,0,0,1,0,1,16777215,1,橢圓Ell,微軟雅黑,10,16711680;?
;;線圖元:左,上,右,下,標(biāo)題,名稱,組id,線條顏色,線寬,虛實(shí),端點(diǎn)類型?
line:276.000000,360.000000,399.000000,256.000000,,,0,0,3,0,0;?
;;文本圖元:左,上,右,下,標(biāo)題,名稱,組id,是否顯示文本,文本內(nèi)容,文本字體類型,字號,字體顏色?
text:507.000000,310.000000,625.000000,364.000000,,,0,1,文字,微軟雅黑,10,16711680,0;?
;;圖片圖元:左,上,右,下,標(biāo)題,名稱,組id,,圖片數(shù)目,狀態(tài)值,狀態(tài)圖1,狀態(tài)圖2...
image:687.000000,321.000000,783.000000,417.000000,,,0,,3,0,F\fmaohao\浮云科技\浮云繪圖\繪圖配置\Image\cat1.png,F\fmaohao\浮云科技\浮云繪圖\繪圖配置\Image\cat2.png,F\fmaohao\浮云科技\浮云繪圖\繪圖配置\Image\cat3.png;
2.4 浮云繪圖API Demo(C#版和VC版)
浮云繪圖API使用Demo有C#版和VC版
浮云繪圖2.0APIDemo(VC版)-C++文檔類資源-CSDN下載
浮云繪圖2.0APIDemo(C#)-C#文檔類資源-CSDN下載
浮云繪圖2.0 API Demo(VC版)源碼
下面展示部分C#版接口申明
//組件接口
[DllImport("FYDC.dll", EntryPoint = "NewFYDC", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr NewFYDC();
?
[DllImport("FYDC.dll", EntryPoint = "CreateFYDC", CallingConvention = CallingConvention.Cdecl)]
public static extern void CreateFYDC(IntPtr canvas, IntPtr hParentWnd, int x, int y, int w, int h);
?
[DllImport("FYDC.dll", EntryPoint = "LoadShapes", CallingConvention = CallingConvention.Cdecl)]
public static extern void LoadShapes(IntPtr canvas, string fileName);
?
[DllImport("FYDC.dll", EntryPoint = "DeleteFYDC", CallingConvention = CallingConvention.Cdecl)]
public static extern void DeleteFYDC(IntPtr canvas);
?
// 圖元對象
[DllImport("FYDC.dll", EntryPoint = "GetShapeCount", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetShapeCount(IntPtr canvas);
?
[DllImport("FYDC.dll", EntryPoint = "GetShape", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr GetShape(IntPtr canvas, string type, string name);
[DllImport("FYDC.dll", EntryPoint = "GetShapeAt", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr GetShapeAt(IntPtr canvas, int index);
?
[DllImport("FYDC.dll", EntryPoint = "GetShapeTypeCount", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetShapeTypeCount(IntPtr canvas, string type);
? ? ? ?
?
// 圖元屬性
[DllImport("FYDC.dll", EntryPoint = "GetShapeType", CallingConvention = CallingConvention.Cdecl)]
public static extern void GetShapeType(IntPtr shape, ref byte type);
?
[DllImport("FYDC.dll", EntryPoint = "GetShapeTitle", CallingConvention = CallingConvention.Cdecl)]
public static extern void GetShapeTitle(IntPtr shape, ref byte title);
[DllImport("FYDC.dll", EntryPoint = "SetShapeTitle", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetShapeTitle(IntPtr canvas, IntPtr shape, string title);
?
[DllImport("FYDC.dll", EntryPoint = "GetShapeName", CallingConvention = CallingConvention.Cdecl)]
public static extern void GetShapeName(IntPtr shape, ref byte type);
[DllImport("FYDC.dll", EntryPoint = "SetShapeName", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetShapeName(IntPtr canvas, IntPtr shape, string name);
?
?
[DllImport("FYDC.dll", EntryPoint = "SetBackColor", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetBackColor(IntPtr canvas, int color);
[DllImport("FYDC.dll", EntryPoint = "GetBackColor", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetBackColor(IntPtr canvas);
[DllImport("FYDC.dll", EntryPoint = "SetNoClientColor", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetNoClientColor(IntPtr canvas, int color);
?
[DllImport("FYDC.dll", EntryPoint = "SetLineColor", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetLineColor(IntPtr canvas, IntPtr shape, int color);
[DllImport("FYDC.dll", EntryPoint = "GetLineColor", CallingConvention = CallingConvention.Cdecl)]
public static extern int GetLineColor(IntPtr shape);