www.mxdraw.com
|
绘图制一个图象标记对象
static McDbObjectId Mx_DrawImageMark(CString sImageFile, DOUBLE ptPosX, DOUBLE ptPosY, DOUBLE dImageScale = 1.0, bool isCDCDraw = true, bool isDrawFlag = false, DOUBLE dDocWidth = 1.0, DOUBLE dDocHeight = 1.0, LPCTSTR pszTwinkeImageFile = NULL, LPCTSTR pszText = NULL, DOUBLE dTextHieght = 20, int iTextColor = -1);
参数 |
说明 |
CString sImageFile |
标记文件名 |
DOUBLE ptPosX |
绘制位置,是图片的中心点X |
DOUBLE ptPosY |
绘制位置,是图片的中心点Y |
DOUBLE dImageScale = 1.0 |
缩放比例,如果输入负数时,表示图片随视区大小缩放,负数的决对值表示图片的高度,图片宽度自动计算 |
bool isCDCDraw = true |
图片在绘图时,是否参于打印,出图 |
bool isDrawFlag = false |
图片显示时,是否绘制它的在文档中的外框标记 |
DOUBLE dDocWidth = 1.0 |
图片在数据库中的宽度 |
DOUBLE dDocHeight = 1.0 |
图片在数据库中的高度 |
LPCTSTR pszTwinkeImageFile = NULL |
闪烁时使用的ImageFile |
LPCTSTR pszText = NULL |
标注文本 |
int iTextColor = -1 |
文字CAD颜色索引,-1取当前颜色. |
iTextHieght |
文字高度 |
lSaveData |
是否把图片数据保存到dwg文件中,0不保存,1为保存 |
返回新绘制的McDbMxImageMark对象的id.
例如: VB调用代码
Private Sub DrawImageMarkImp() 'Dim mxUtility As MxDrawXLib.MxDrawUtility 'Set mxUtility = New MxDrawXLib.MxDrawUtility 'Dim getPt1 As MxDrawXLib.MxDrawPoint 'Set getPt1 = mxUtility.GetPoint(, Chr(13) + Chr(10) + "点取插入点:") 'If (getPt1 Is Nothing) Then ' MsgBox "用户取消.." ' Exit Sub 'End If ' 定义调用动态取点的函数参数 Dim getParam As MxDrawXLib.MxDrawResbuf Set getParam = New MxDrawXLib.MxDrawResbuf '动态拖放时显示的图片 getParam.AddString MxDrawX1.GetOcxAppPath + "\mxdraw.png" '图片显示缩放比例 getParam.AddDouble 0.4 Dim retParam As MxDrawXLib.MxDrawResbuf '开始态拖放取点 Set retParam = MxDrawX1.CallEx("ExApp_GetImageMarkPosition", getParam) If retParam.AtString(0) <> "Ok" Then Exit Sub End If Dim param As MxDrawXLib.MxDrawResbuf Set param = New MxDrawXLib.MxDrawResbuf '第一个参数,图形的文件名 param.AddString MxDrawX1.GetOcxAppPath + "\mxdraw.png" '第二个参数,插入点的x坐标 param.AddDouble retParam.AtDouble(1) '第三个参数,插入点的x坐标 param.AddDouble retParam.AtDouble(2) '第四个参数,图形缩放比例 param.AddDouble 0.4 '第五个参数,图片在绘图时,是否参于打印,出图 param.AddLong 1 '第6个参数,图片显示时,是否绘制它的在文档中的外框标记 param.AddLong 0 '第7个参数,图片在数据库中的宽度 param.AddDouble 30 '第8个参数,图片在数据库中的高度 param.AddDouble 30 '第9个参数,闪烁时使用的image param.AddString MxDrawX1.GetOcxAppPath + "\mxdrawt.png" '第10个参数,标文字内容 param.AddString "Text" '第11个参数,标文字高度 param.AddDouble 20 '第12个参数,标文字的CAD颜色索引,颜色1为红色,具体颜色索引为多少是什么颜色,可以参数AutoCAD说明 param.AddLong 1 '调用插入图形标记函数 MxDrawX1.CallEx "Mx_DrawImageMark", param End Sub
例如:Js代码
else if(iCmd == 14) { var mxOcx = document.all.item("MxDrawXCtrl1"); mxOcx.focus(); var point1 = mxOcx.GetPoint(null,"n 点取插入点:"); if(point1 == null) { return; } var sMarkPath = mxOcx.GetOcxAppPath() + "\mxdraw.png"; var param = mxOcx.Call("Mx_NewResbuf",""); param.AddString(sMarkPath); param.AddDouble(point1.x); param.AddDouble(point1.y); mxOcx.CallEx("Mx_DrawImageMark",param); }
例如:C#代码
MxDrawApplication app = new MxDrawApplication(); MxDrawResbuf param = new MxDrawResbuf(); //第一个参数,图形的文件名 param.AddString("G:\1.jpg"); //第二个参数,插入点的x坐标 param.AddDouble(1); //第三个参数,插入点的Y坐标 param.AddDouble(2); //第四个参数,图形缩放比例 param.AddDouble(-10); //第五个参数,图片在绘图时,是否参于打印,出图 param.AddLong(1); //第6个参数,图片显示时,是否绘制它的在文档中的外框标记 param.AddLong(0); //第7个参数,图片在数据库中的宽度 param.AddDouble(300); //第8个参数,图片在数据库中的高度 param.AddDouble(300); // 第9个参数,闪烁时使用的image param.AddString(""); //第10个参数,标文字内容 param.AddString(""); //第11个参数,标文字高度 param.AddDouble(20); //第12个参数,标文字的CAD颜色索引,颜色1为红色,具体颜色索引为多少是什么颜色,可以参数AutoCAD说明 param.AddLong(-1); // 第13个参数,图片数据,是否随图保存 param.AddLong(1); // 调用自定义函数. app.CallEx("Mx_DrawImageMark", param);