阅读:1291回复:0
问个计算点要素尺寸的问题
在地图上, 点要素的大小是不会随着地图的放大缩小而改变的, 用了 IFeatureLayer.ScaleSymbols 后, 点要素的大小随着地图的放大而变大 <br>
<br> Dim pMxDoc As IMxDocument<br> Set pMxDoc = ThisDocument<br> <br> Dim pFeatureLayer As IFeatureLayer<br> Set pFeatureLayer = pMxDoc.FocusMap.Layer(0)<br> <br> pFeatureLayer.ScaleSymbols = True<br> <br> Dim pMap As IMap<br> Set pMap = pMxDoc.FocusMap<br> pMap.ReferenceScale = 1000<br> <br> 运行后, 当地图比例尺是 1:500 时, 屏幕上点要素的大小比初始大小大了很多, 我想计算点要素的大小, 我试着用ISymbol.QueryBoundary(hdc, displaytransformation, geometry, boundary), 可是不管点要素在屏幕上是多大, 返回的boundary的尺寸都是一样的, 是不是返回的boundary是实际的尺寸, 我还要根据比例尺转化为屏幕尺寸, 该怎么算, <br> <br> 请指点, 多谢 |
|