|
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);