绘图制一个图象标记对象
[id(239), helpstring("method DrawImageMark")] LONGLONG DrawImageMark(DOUBLE dPosX, DOUBLE dPosY, DOUBLE dScale, DOUBLE dAng, BSTR pszFileName, BSTR pszTwinkeImageFiles, VARIANT_BOOL isSaveData);
参数 |
说明 |
DOUBLE dPosX |
绘制位置,是图片的中心点X |
DOUBLE dPosY |
绘制位置,是图片的中心点y |
DOUBLE dScale |
缩放比例,如果输入负数时,表示图片随视区大小缩放,负数的决对值表示图片的高度,图片宽度自动计算 |
DOUBLE dAng |
图片旋转角度 |
BSTR pszFileName |
图片显示文件名 |
BSTR pszTwinkeImageFiles |
闪烁时使用的ImageFile.,设置该文件后,调用MxDraw::TwinkeEnt后将交替闪烁显示。 可以同时设置多个闪烁文件,文件间用逗号隔开,比如: 1.jgp,2.jpg,3.jpg |
VARIANT_BOOL isSaveData |
图片数据,是否随图保存 |
成功返回对象的id,对象类型为IMxDrawImageMark
例如:VC
LONGLONG lId = m_ocx.DrawImageMark(50,50,-100.0,45 * 3.14159265 / 180.0,_T("d:\11.png"),_T("d:\11.png,d:\f1.png,d:\22.png"),TRUE); m_ocx.TwinkeEnt(lId); IDispatchPtr spDispatch(m_ocx.ObjectIdToObject(lId) ,false); IMxDrawImageMarkPtr spImage; spDispatch->QueryInterface(&spImage); if(spImage == NULL) return; spImage->put_ImageFile(_T("d:\mxcad.jpg"));
例如:C#
MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase(); MxDrawResbuf ret = database.GetProp("getMaxDrawOrder"); long lMax = ret.AtLong(0); MxDrawEntity ent = (MxDrawEntity)axMxDrawX1.ObjectIdToObject(axMxDrawX1.DrawImageMark(0, 0, -100, 15 * 3.14159265 / 180.0, "H:\1.jpg", "", true)); MxDrawResbuf res = new MxDrawResbuf(); res.AddLong((Int32)(lMax+ 1)); ent.SetProp("drawOrder", res);