做符号预览的时候需要将ISymbol或IElement绘制到指定的控件上,下面边码边说,一起讨论讨论:
一、ISymbol:
ISymbol接口有Draw函数,查询其接口可以发现,我们需要执行ISymbol.SetupDC -> ISymbol.Draw -> ISymbol.ResetDC 这三个步骤;
首先SetupDC需要参数 hDC和IDisplayTransformation;贴代码:
例如:绘制在Panel上:
————————————————————————————————————————————————————————————————-
int width=Panel.Width;
IEnvelope pEnve=new EnvelopeClass();
pEnve.PutCoords(0,0,width,heigth);
一、ISymbol:
ISymbol接口有Draw函数,查询其接口可以发现,我们需要执行ISymbol.SetupDC -> ISymbol.Draw -> ISymbol.ResetDC 这三个步骤;
首先SetupDC需要参数 hDC和IDisplayTransformation;贴代码:
例如:绘制在Panel上:
————————————————————————————————————————————————————————————————-
int width=Panel.Width;
int heigth=Panel.Heigth;
//绘制方法
Graphics graph=Graphics.FromHwnd(Panel.Handle);graph.Clear(Panel.BackColor);
//分辨率
double dpi=graph.DpiX;IEnvelope pEnve=new EnvelopeClass();
pEnve.PutCoords(0,0,width,heigth);
Ip

本文介绍了如何在ArcEngine中利用GraphicsContainer进行图形绘制,包括使用ISymbol进行绘制并在控件上显示,以及绘制Element如线段的方法。通过设置DisplayTransformation、分辨率和设备帧来实现控件上的精确绘制。
最低0.47元/天 解锁文章
744

被折叠的 条评论
为什么被折叠?



