如何提高ArcScene加载影像图的分辨率

来源:互联网 发布:a10攻击机 知乎 编辑:程序博客网 时间:2024/06/06 05:37
 对于同一张栅格数据(例如jpg、img),在ArcMap中加载后显示的时候,效果是和通常图片浏览器打开的没有什么差别。可是在ArcScene加载后栅格数据数据发生失真,即分辨率下降了,变得模糊。
                        
      ESRI在三维显示时,为了提高数据的检索,以提高显示效率。对具体的空间栅格操作并没有发生变化。
      1、如果是在桌面平台ArcScene上提高显示分辨率的话可以通过以下方式解决:
      可以在Raster栅格图层中单击属性“layer properties”,然后在“Rendering” 选项卡中最下面的“Quality enhancement for raster image”,将右面的滑块“slider”到最high高的部分就可以了;
      2、如果是自己写程序实现的话,可以通过如下解决方法:
      注意点:
I、更改分辨率后,如何让分辨率设置发挥作用。主要是刷新的问题(使用IActiveView刷新、而不能使用Iscene及IScenegraph刷新)
II、分辨率数值在( 262144-268435456)范围之内,越大越清晰。使用
I3DProperties.MaxTextureMemory 方法
具体代码:
            IRasterLayer pRLyr = axSceneControl1.Scene.get_Layer(0) as IRasterLayer;
            IActiveView pActiveView = axSceneControl1.Scene as IActiveView;
            if (pActiveView == null) return;
            ILayerExtensions pLayerExts = pRLyr as ILayerExtensions;            
            for (int i = 0; i < pLayerExts.ExtensionCount; i++)
            {
                if (pLayerExts.get_Extension(i) is I3DProperties)
                {
                    I3DProperties p3DProps = pLayerExts.get_Extension(i) as I3DProperties;
                     if (p3DProps != null)
                    {
                        p3DProps.MaxTextureMemory = 268435456;
                        p3DProps.Apply3DProperties(pRLyr);
                        pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, pRLyr, pActiveView.Extent);
                    }
                }
            }
0 0